volute 0.20.0 → 0.21.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 (92) hide show
  1. package/README.md +7 -7
  2. package/dist/{activity-events-OMXKXD5N.js → activity-events-3WHHCOBB.js} +3 -4
  3. package/dist/{archive-ZCFOSTKB.js → archive-4ZQYK5MN.js} +4 -2
  4. package/dist/auth-HM2RSPY7.js +37 -0
  5. package/dist/{channel-PUQKGSQM.js → channel-BOOMFULW.js} +2 -2
  6. package/dist/{chunk-IKMY5X76.js → chunk-5462YKWP.js} +12 -9
  7. package/dist/{chunk-PUVXOZ6T.js → chunk-7LPTHFIL.js} +63 -64
  8. package/dist/{chunk-UU7A7KLB.js → chunk-A4S7H6G6.js} +5 -7
  9. package/dist/chunk-AKPFNL7L.js +148 -0
  10. package/dist/{chunk-EBGCNDMM.js → chunk-B2CPS4QU.js} +128 -114
  11. package/dist/{chunk-FCDU5BFX.js → chunk-HFCBO2GL.js} +2 -2
  12. package/dist/{chunk-GZ7DW4YL.js → chunk-HGCDWKSP.js} +2 -2
  13. package/dist/{chunk-DYZGP3EW.js → chunk-IPJXU366.js} +1 -1
  14. package/dist/{chunk-7UFKREVW.js → chunk-J5A3DF2U.js} +2 -2
  15. package/dist/{chunk-WC6ZHVRL.js → chunk-KFI7TQJ6.js} +2 -2
  16. package/dist/{chunk-AW7P4EVV.js → chunk-KTJGZ7M7.js} +55 -7
  17. package/dist/{chunk-TIWH32HP.js → chunk-L3LHXZD7.js} +3 -3
  18. package/dist/{chunk-OGXOMR65.js → chunk-NWPT4ASZ.js} +1 -1
  19. package/dist/{chunk-FGSYHIS3.js → chunk-OGZYB5GL.js} +252 -296
  20. package/dist/{chunk-SCUDS4US.js → chunk-ON3FF5JA.js} +1 -1
  21. package/dist/{chunk-O6ASDHFO.js → chunk-PC6R6UUW.js} +4 -4
  22. package/dist/{chunk-VDWCHYTS.js → chunk-PHU4DEAJ.js} +1 -1
  23. package/dist/{chunk-7NO7EV5Z.js → chunk-Q7AITQ44.js} +2 -2
  24. package/dist/{chunk-32VR2EOH.js → chunk-QUJUKM4U.js} +2 -2
  25. package/dist/{chunk-NSE7VJQA.js → chunk-SGPEZ32F.js} +29 -1
  26. package/dist/{chunk-RHEGSQFJ.js → chunk-WSLPZF72.js} +1 -1
  27. package/dist/cli.js +57 -119
  28. package/dist/{connector-JBVNZ7VK.js → connector-PYT5UOTZ.js} +6 -6
  29. package/dist/connectors/discord.js +2 -2
  30. package/dist/connectors/slack.js +2 -2
  31. package/dist/connectors/telegram.js +2 -2
  32. package/dist/{create-HP4OVVHF.js → create-WIDA3M4C.js} +1 -1
  33. package/dist/{daemon-client-ITWUCNFO.js → daemon-client-ZHCDL4RS.js} +2 -2
  34. package/dist/{daemon-restart-KPSWNYTH.js → daemon-restart-BH67ZOTE.js} +6 -6
  35. package/dist/daemon.js +1538 -687
  36. package/dist/{delete-BSU7K3RY.js → delete-LOIANQGD.js} +1 -1
  37. package/dist/down-LIOQ5JDH.js +14 -0
  38. package/dist/{env-A3LMO777.js → env-4PHIHTF4.js} +2 -2
  39. package/dist/{export-6QBUOQGC.js → export-XD6PJBQP.js} +19 -8
  40. package/dist/{file-C57SK5DK.js → file-X4L5TTOL.js} +2 -2
  41. package/dist/{history-WNK3DFUM.js → history-HTEKRNID.js} +2 -2
  42. package/dist/{import-XEC34Y4Z.js → import-E433B4KG.js} +3 -3
  43. package/dist/{log-PPPZDVEF.js → log-SRO5Q6AD.js} +2 -2
  44. package/dist/{login-HNH3EUQV.js → login-UO6AOVEA.js} +4 -4
  45. package/dist/{logout-I5CB5UZS.js → logout-UKD5LA37.js} +2 -2
  46. package/dist/{logs-SF2IMJN4.js → logs-HNTNNBDW.js} +2 -2
  47. package/dist/{merge-33C237A4.js → merge-B6SYTGI7.js} +2 -2
  48. package/dist/{mind-Z7CKD6DG.js → mind-BIDOF65R.js} +27 -11
  49. package/dist/{mind-activity-tracker-624QLQLC.js → mind-activity-tracker-PGC3DBJ7.js} +4 -5
  50. package/dist/{mind-manager-3DMYKZPB.js → mind-manager-3V2NXX4I.js} +5 -6
  51. package/dist/{package-4NHAVUUI.js → package-HQR52XSG.js} +1 -1
  52. package/dist/{pages-4DGQT7ZA.js → pages-KQBR5TAZ.js} +6 -6
  53. package/dist/{publish-TAJUET4I.js → publish-OJ4QMXVZ.js} +6 -6
  54. package/dist/{pull-XAEWQJ47.js → pull-GRQAXM2E.js} +2 -2
  55. package/dist/{register-VSPCMHKX.js → register-U2UO6TC4.js} +5 -5
  56. package/dist/registry-D2BSQ2X5.js +42 -0
  57. package/dist/{restart-IQKMCK5M.js → restart-CIDAKGG2.js} +3 -6
  58. package/dist/{schedule-FFZG23IW.js → schedule-NLR3LZLY.js} +2 -2
  59. package/dist/{seed-J43YDKXG.js → seed-3H2MRREW.js} +2 -2
  60. package/dist/{send-KVIZIGCE.js → send-RP2TA7SG.js} +132 -36
  61. package/dist/{service-LUR7WDO7.js → service-TVNEORO7.js} +31 -13
  62. package/dist/{setup-52YRV7VP.js → setup-OZDYCKDI.js} +9 -34
  63. package/dist/{shared-KO35ZM44.js → shared-DCQ2UXOM.js} +4 -4
  64. package/dist/{skill-BCVNI6TV.js → skill-Q2Y6PQ3L.js} +2 -2
  65. package/dist/skills/orientation/SKILL.md +2 -2
  66. package/dist/skills/volute-mind/SKILL.md +5 -5
  67. package/dist/{sprout-QN7Y4VVO.js → sprout-6Z6C42YM.js} +34 -30
  68. package/dist/{start-I5JYB65M.js → start-JR6CUUWF.js} +3 -6
  69. package/dist/{status-D7E5HHBV.js → status-5XDGYHKP.js} +2 -2
  70. package/dist/{status-FU2PFVVF.js → status-LV34BG6G.js} +3 -3
  71. package/dist/{status-4ESFLGH4.js → status-Z7NAFMBI.js} +5 -5
  72. package/dist/{stop-NBVKEFQQ.js → stop-VKPGK25U.js} +2 -5
  73. package/dist/template-hash-BIMA4ILT.js +8 -0
  74. package/dist/{up-FS7CKM6V.js → up-7BGDMFRT.js} +5 -5
  75. package/dist/{update-FJIHDJKM.js → update-4WT7VWHW.js} +5 -5
  76. package/dist/{update-check-MWE5AH4U.js → update-check-F5Z3ALXX.js} +2 -2
  77. package/dist/{upgrade-AIT24B5I.js → upgrade-ZEC2GGFO.js} +1 -1
  78. package/dist/{variant-63ZWO2W7.js → variant-A4I7PHXS.js} +16 -24
  79. package/dist/version-notify-TFS2U5CF.js +173 -0
  80. package/dist/web-assets/assets/index-BR3gtK3E.css +1 -0
  81. package/dist/web-assets/assets/index-CWmrZRQd.js +64 -0
  82. package/dist/web-assets/index.html +2 -2
  83. package/package.json +1 -1
  84. package/dist/chunk-5XNT2472.js +0 -36
  85. package/dist/chunk-UJ6GHNR7.js +0 -675
  86. package/dist/db-C2CJ46ZU.js +0 -10
  87. package/dist/delivery-manager-CSG7LXA4.js +0 -16
  88. package/dist/down-ZY35KMHR.js +0 -14
  89. package/dist/schema-GFH6RV3W.js +0 -26
  90. package/dist/variants-JAGWGBXG.js +0 -26
  91. package/dist/web-assets/assets/index-CUZTZzaW.js +0 -64
  92. package/dist/web-assets/assets/index-adVuCkqy.css +0 -1
@@ -13,7 +13,7 @@ async function run(args) {
13
13
  force: { type: "boolean" }
14
14
  });
15
15
  const name = resolveMindName({ mind: positional[0] });
16
- const { daemonFetch } = await import("./daemon-client-ITWUCNFO.js");
16
+ const { daemonFetch } = await import("./daemon-client-ZHCDL4RS.js");
17
17
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
18
18
  const client = getClient();
19
19
  const url = urlOf(client.api.minds[":name"].$url({ param: { name } })) + (flags.force ? "?force=true" : "");
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ run,
4
+ stopDaemon
5
+ } from "./chunk-Q7AITQ44.js";
6
+ import "./chunk-QUJUKM4U.js";
7
+ import "./chunk-IPJXU366.js";
8
+ import "./chunk-NWPT4ASZ.js";
9
+ import "./chunk-B2CPS4QU.js";
10
+ import "./chunk-K3NQKI34.js";
11
+ export {
12
+ run,
13
+ stopDaemon
14
+ };
@@ -11,8 +11,8 @@ import {
11
11
  } from "./chunk-D424ZQGI.js";
12
12
  import {
13
13
  daemonFetch
14
- } from "./chunk-WC6ZHVRL.js";
15
- import "./chunk-EBGCNDMM.js";
14
+ } from "./chunk-KFI7TQJ6.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/env.ts
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  addHistoryToArchive,
4
4
  createExportArchive
5
- } from "./chunk-AW7P4EVV.js";
5
+ } from "./chunk-KTJGZ7M7.js";
6
6
  import {
7
7
  parseArgs
8
8
  } from "./chunk-D424ZQGI.js";
9
9
  import {
10
10
  findMind,
11
11
  mindDir
12
- } from "./chunk-EBGCNDMM.js";
12
+ } from "./chunk-B2CPS4QU.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
 
15
15
  // src/commands/export.ts
@@ -22,13 +22,14 @@ async function run(args) {
22
22
  "include-connectors": { type: "boolean" },
23
23
  "include-history": { type: "boolean" },
24
24
  "include-sessions": { type: "boolean" },
25
+ "include-src": { type: "boolean" },
25
26
  all: { type: "boolean" },
26
27
  output: { type: "string" }
27
28
  });
28
29
  const name = positional[0];
29
30
  if (!name) {
30
31
  console.error(
31
- "Usage: volute mind export <name> [--include-env] [--include-identity] [--include-connectors] [--include-history] [--include-sessions] [--all] [--output <path>]"
32
+ "Usage: volute mind export <name> [--include-env] [--include-identity] [--include-connectors] [--include-history] [--include-sessions] [--include-src] [--all] [--output <path>]"
32
33
  );
33
34
  process.exit(1);
34
35
  }
@@ -48,9 +49,12 @@ async function run(args) {
48
49
  const includeConnectors = includeAll || flags["include-connectors"];
49
50
  const includeHistory = includeAll || flags["include-history"];
50
51
  const includeSessions = includeAll || flags["include-sessions"];
52
+ const includeSrc = includeAll || flags["include-src"];
51
53
  const zip = createExportArchive({
52
54
  name,
53
55
  template: entry.template ?? "claude",
56
+ stage: entry.stage,
57
+ includeSrc,
54
58
  includeEnv,
55
59
  includeIdentity,
56
60
  includeConnectors,
@@ -59,11 +63,17 @@ async function run(args) {
59
63
  });
60
64
  if (includeHistory) {
61
65
  try {
62
- const { getDb } = await import("./db-C2CJ46ZU.js");
63
- const { eq } = await import("drizzle-orm");
64
- const { mindHistory } = await import("./schema-GFH6RV3W.js");
65
- const db = await getDb();
66
- const rows = await db.select().from(mindHistory).where(eq(mindHistory.mind, name));
66
+ const { daemonFetch } = await import("./daemon-client-ZHCDL4RS.js");
67
+ const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
68
+ const client = getClient();
69
+ const res = await daemonFetch(
70
+ urlOf(client.api.minds[":name"].history.export.$url({ param: { name } }))
71
+ );
72
+ if (!res.ok) {
73
+ const text = await res.text().catch(() => "");
74
+ throw new Error(`Failed to fetch history: HTTP ${res.status}${text ? ` - ${text}` : ""}`);
75
+ }
76
+ const rows = await res.json();
67
77
  addHistoryToArchive(zip, rows);
68
78
  } catch (err) {
69
79
  console.error(`Error: could not export history: ${err.message}`);
@@ -84,6 +94,7 @@ Exported ${name} \u2192 ${outputPath} (${sizeMB} MB)`);
84
94
  const included = [];
85
95
  const excluded = [];
86
96
  for (const [key, val] of [
97
+ ["src", includeSrc],
87
98
  ["env", includeEnv],
88
99
  ["identity", includeIdentity],
89
100
  ["connectors", includeConnectors],
@@ -7,8 +7,8 @@ import {
7
7
  } from "./chunk-D424ZQGI.js";
8
8
  import {
9
9
  daemonFetch
10
- } from "./chunk-WC6ZHVRL.js";
11
- import "./chunk-EBGCNDMM.js";
10
+ } from "./chunk-KFI7TQJ6.js";
11
+ import "./chunk-B2CPS4QU.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/file.ts
@@ -11,8 +11,8 @@ import {
11
11
  } from "./chunk-D424ZQGI.js";
12
12
  import {
13
13
  daemonFetch
14
- } from "./chunk-WC6ZHVRL.js";
15
- import "./chunk-EBGCNDMM.js";
14
+ } from "./chunk-KFI7TQJ6.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/history.ts
@@ -6,10 +6,10 @@ import {
6
6
  parseNameFromIdentity,
7
7
  run,
8
8
  sessionMatchesWorkspace
9
- } from "./chunk-O6ASDHFO.js";
10
- import "./chunk-VDWCHYTS.js";
9
+ } from "./chunk-PC6R6UUW.js";
10
+ import "./chunk-PHU4DEAJ.js";
11
11
  import "./chunk-D424ZQGI.js";
12
- import "./chunk-EBGCNDMM.js";
12
+ import "./chunk-B2CPS4QU.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
  export {
15
15
  findOpenClawSession,
@@ -7,8 +7,8 @@ import {
7
7
  } from "./chunk-D424ZQGI.js";
8
8
  import {
9
9
  daemonFetch
10
- } from "./chunk-WC6ZHVRL.js";
11
- import "./chunk-EBGCNDMM.js";
10
+ } from "./chunk-KFI7TQJ6.js";
11
+ import "./chunk-B2CPS4QU.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/shared/log.ts
@@ -8,11 +8,11 @@ import {
8
8
  import {
9
9
  readSystemsConfig,
10
10
  writeSystemsConfig
11
- } from "./chunk-FCDU5BFX.js";
11
+ } from "./chunk-HFCBO2GL.js";
12
12
  import {
13
13
  parseArgs
14
14
  } from "./chunk-D424ZQGI.js";
15
- import "./chunk-EBGCNDMM.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/pages/login.ts
@@ -23,13 +23,13 @@ async function run(args) {
23
23
  });
24
24
  const existing = readSystemsConfig();
25
25
  if (existing) {
26
- console.error(`Already logged in as "${existing.system}". Run "volute logout" first.`);
26
+ console.error(`Already logged in as "${existing.system}". Run "volute auth logout" first.`);
27
27
  process.exit(1);
28
28
  }
29
29
  let key = flags.key;
30
30
  if (!key) {
31
31
  if (!process.stdin.isTTY) {
32
- console.error("Usage: volute pages login --key <api-key>");
32
+ console.error("Usage: volute auth login --key <api-key>");
33
33
  process.exit(1);
34
34
  }
35
35
  key = await promptLine("API key: ");
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  deleteSystemsConfig
4
- } from "./chunk-FCDU5BFX.js";
5
- import "./chunk-EBGCNDMM.js";
4
+ } from "./chunk-HFCBO2GL.js";
5
+ import "./chunk-B2CPS4QU.js";
6
6
  import "./chunk-K3NQKI34.js";
7
7
 
8
8
  // src/commands/pages/logout.ts
@@ -11,8 +11,8 @@ import {
11
11
  } from "./chunk-D424ZQGI.js";
12
12
  import {
13
13
  daemonFetch
14
- } from "./chunk-WC6ZHVRL.js";
15
- import "./chunk-EBGCNDMM.js";
14
+ } from "./chunk-KFI7TQJ6.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/logs.ts
@@ -7,8 +7,8 @@ import {
7
7
  } from "./chunk-D424ZQGI.js";
8
8
  import {
9
9
  daemonFetch
10
- } from "./chunk-WC6ZHVRL.js";
11
- import "./chunk-EBGCNDMM.js";
10
+ } from "./chunk-KFI7TQJ6.js";
11
+ import "./chunk-B2CPS4QU.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/shared/merge.ts
@@ -6,45 +6,57 @@ async function run(args) {
6
6
  const subcommand = args[0];
7
7
  switch (subcommand) {
8
8
  case "create":
9
- await import("./create-HP4OVVHF.js").then((m) => m.run(args.slice(1)));
9
+ await import("./create-WIDA3M4C.js").then((m) => m.run(args.slice(1)));
10
10
  break;
11
11
  case "start":
12
- await import("./start-I5JYB65M.js").then((m) => m.run(args.slice(1)));
12
+ await import("./start-JR6CUUWF.js").then((m) => m.run(args.slice(1)));
13
13
  break;
14
14
  case "stop":
15
- await import("./stop-NBVKEFQQ.js").then((m) => m.run(args.slice(1)));
15
+ await import("./stop-VKPGK25U.js").then((m) => m.run(args.slice(1)));
16
16
  break;
17
17
  case "restart":
18
- await import("./restart-IQKMCK5M.js").then((m) => m.run(args.slice(1)));
18
+ await import("./restart-CIDAKGG2.js").then((m) => m.run(args.slice(1)));
19
19
  break;
20
20
  case "delete":
21
- await import("./delete-BSU7K3RY.js").then((m) => m.run(args.slice(1)));
21
+ await import("./delete-LOIANQGD.js").then((m) => m.run(args.slice(1)));
22
22
  break;
23
23
  case "list":
24
- await import("./status-4ESFLGH4.js").then((m) => m.run(args.slice(1)));
24
+ await import("./status-Z7NAFMBI.js").then((m) => m.run(args.slice(1)));
25
25
  break;
26
26
  case "status": {
27
27
  const rest = args.slice(1);
28
28
  if (!rest[0] && process.env.VOLUTE_MIND) {
29
29
  rest.unshift(process.env.VOLUTE_MIND);
30
30
  }
31
- await import("./status-4ESFLGH4.js").then((m) => m.run(rest));
31
+ await import("./status-Z7NAFMBI.js").then((m) => m.run(rest));
32
32
  break;
33
33
  }
34
34
  case "logs": {
35
35
  const rest = args.slice(1);
36
36
  const logsArgs = transformMindFlag(rest);
37
- await import("./logs-SF2IMJN4.js").then((m) => m.run(logsArgs));
37
+ await import("./logs-HNTNNBDW.js").then((m) => m.run(logsArgs));
38
38
  break;
39
39
  }
40
40
  case "upgrade":
41
- await import("./upgrade-AIT24B5I.js").then((m) => m.run(args.slice(1)));
41
+ await import("./upgrade-ZEC2GGFO.js").then((m) => m.run(args.slice(1)));
42
42
  break;
43
43
  case "import":
44
- await import("./import-XEC34Y4Z.js").then((m) => m.run(args.slice(1)));
44
+ await import("./import-E433B4KG.js").then((m) => m.run(args.slice(1)));
45
45
  break;
46
46
  case "export":
47
- await import("./export-6QBUOQGC.js").then((m) => m.run(args.slice(1)));
47
+ await import("./export-XD6PJBQP.js").then((m) => m.run(args.slice(1)));
48
+ break;
49
+ case "connect":
50
+ await import("./connector-PYT5UOTZ.js").then((m) => m.run(["connect", ...args.slice(1)]));
51
+ break;
52
+ case "disconnect":
53
+ await import("./connector-PYT5UOTZ.js").then((m) => m.run(["disconnect", ...args.slice(1)]));
54
+ break;
55
+ case "seed":
56
+ await import("./seed-3H2MRREW.js").then((m) => m.run(args.slice(1)));
57
+ break;
58
+ case "sprout":
59
+ await import("./sprout-6Z6C42YM.js").then((m) => m.run(args.slice(1)));
48
60
  break;
49
61
  case "--help":
50
62
  case "-h":
@@ -65,6 +77,7 @@ function transformMindFlag(args) {
65
77
  function printUsage() {
66
78
  console.log(`Usage:
67
79
  volute mind create <name> [--template <name>]
80
+ volute mind seed <name> [--template <name>]
68
81
  volute mind start <name>
69
82
  volute mind stop [name]
70
83
  volute mind restart [name]
@@ -72,6 +85,9 @@ function printUsage() {
72
85
  volute mind list
73
86
  volute mind status [name]
74
87
  volute mind logs [name] [--follow] [-n N]
88
+ volute mind connect <type> [--mind <name>]
89
+ volute mind disconnect <type> [--mind <name>]
90
+ volute mind sprout
75
91
  volute mind upgrade [name] [--template <name>] [--continue]
76
92
  volute mind import <path> [--name <name>] [--session <path>] [--template <name>]
77
93
  volute mind export <name> [--include-env] [--include-identity] [--include-connectors] [--include-history] [--include-sessions] [--all] [--output <path>]
@@ -4,12 +4,11 @@ import {
4
4
  markIdle,
5
5
  onMindEvent,
6
6
  stopAll
7
- } from "./chunk-GZ7DW4YL.js";
8
- import "./chunk-UU7A7KLB.js";
7
+ } from "./chunk-HGCDWKSP.js";
8
+ import "./chunk-A4S7H6G6.js";
9
+ import "./chunk-SGPEZ32F.js";
9
10
  import "./chunk-YUIHSKR6.js";
10
- import "./chunk-5XNT2472.js";
11
- import "./chunk-NSE7VJQA.js";
12
- import "./chunk-EBGCNDMM.js";
11
+ import "./chunk-B2CPS4QU.js";
13
12
  import "./chunk-K3NQKI34.js";
14
13
  export {
15
14
  getActiveMinds,
@@ -3,13 +3,12 @@ import {
3
3
  MindManager,
4
4
  getMindManager,
5
5
  initMindManager
6
- } from "./chunk-PUVXOZ6T.js";
6
+ } from "./chunk-7LPTHFIL.js";
7
+ import "./chunk-PHU4DEAJ.js";
8
+ import "./chunk-SGPEZ32F.js";
7
9
  import "./chunk-YUIHSKR6.js";
8
- import "./chunk-VDWCHYTS.js";
9
- import "./chunk-5XNT2472.js";
10
- import "./chunk-NSE7VJQA.js";
11
- import "./chunk-OGXOMR65.js";
12
- import "./chunk-EBGCNDMM.js";
10
+ import "./chunk-NWPT4ASZ.js";
11
+ import "./chunk-B2CPS4QU.js";
13
12
  import "./chunk-K3NQKI34.js";
14
13
  export {
15
14
  MindManager,
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "volute",
7
- version: "0.20.0",
7
+ version: "0.21.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",
@@ -6,10 +6,10 @@ async function run(args) {
6
6
  const subcommand = args[0];
7
7
  switch (subcommand) {
8
8
  case "publish":
9
- await import("./publish-TAJUET4I.js").then((m) => m.run(args.slice(1)));
9
+ await import("./publish-OJ4QMXVZ.js").then((m) => m.run(args.slice(1)));
10
10
  break;
11
11
  case "status":
12
- await import("./status-FU2PFVVF.js").then((m) => m.run(args.slice(1)));
12
+ await import("./status-LV34BG6G.js").then((m) => m.run(args.slice(1)));
13
13
  break;
14
14
  case "--help":
15
15
  case "-h":
@@ -26,10 +26,10 @@ function printUsage() {
26
26
  volute pages publish [--mind <name>] Publish mind's pages/ directory
27
27
  volute pages status [--mind <name>] Show publish status
28
28
 
29
- Account commands (register, login, logout) are now top-level:
30
- volute register [--name <name>]
31
- volute login [--key <key>]
32
- volute logout`);
29
+ Account commands:
30
+ volute auth register [--name <name>]
31
+ volute auth login [--key <key>]
32
+ volute auth logout`);
33
33
  }
34
34
  export {
35
35
  run
@@ -7,19 +7,19 @@ import {
7
7
  } from "./chunk-NAOW2CLO.js";
8
8
  import {
9
9
  sharedDir
10
- } from "./chunk-TIWH32HP.js";
10
+ } from "./chunk-L3LHXZD7.js";
11
11
  import {
12
12
  readSystemsConfig
13
- } from "./chunk-FCDU5BFX.js";
13
+ } from "./chunk-HFCBO2GL.js";
14
14
  import "./chunk-YUIHSKR6.js";
15
15
  import {
16
16
  parseArgs
17
17
  } from "./chunk-D424ZQGI.js";
18
- import "./chunk-DYZGP3EW.js";
19
- import "./chunk-OGXOMR65.js";
18
+ import "./chunk-IPJXU366.js";
19
+ import "./chunk-NWPT4ASZ.js";
20
20
  import {
21
21
  mindDir
22
- } from "./chunk-EBGCNDMM.js";
22
+ } from "./chunk-B2CPS4QU.js";
23
23
  import "./chunk-K3NQKI34.js";
24
24
 
25
25
  // src/commands/pages/publish.ts
@@ -32,7 +32,7 @@ async function run(args) {
32
32
  });
33
33
  const config = readSystemsConfig();
34
34
  if (!config) {
35
- console.error('Not logged in. Run "volute pages register" or "volute pages login" first.');
35
+ console.error('Not logged in. Run "volute auth register" or "volute auth login" first.');
36
36
  process.exit(1);
37
37
  }
38
38
  let mindName;
@@ -7,8 +7,8 @@ import {
7
7
  } from "./chunk-D424ZQGI.js";
8
8
  import {
9
9
  daemonFetch
10
- } from "./chunk-WC6ZHVRL.js";
11
- import "./chunk-EBGCNDMM.js";
10
+ } from "./chunk-KFI7TQJ6.js";
11
+ import "./chunk-B2CPS4QU.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/shared/pull.ts
@@ -8,11 +8,11 @@ import {
8
8
  import {
9
9
  readSystemsConfig,
10
10
  writeSystemsConfig
11
- } from "./chunk-FCDU5BFX.js";
11
+ } from "./chunk-HFCBO2GL.js";
12
12
  import {
13
13
  parseArgs
14
14
  } from "./chunk-D424ZQGI.js";
15
- import "./chunk-EBGCNDMM.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/pages/register.ts
@@ -23,13 +23,13 @@ async function run(args) {
23
23
  });
24
24
  const existing = readSystemsConfig();
25
25
  if (existing) {
26
- console.error(`Already registered as "${existing.system}". Run "volute logout" first.`);
26
+ console.error(`Already registered as "${existing.system}". Run "volute auth logout" first.`);
27
27
  process.exit(1);
28
28
  }
29
29
  let name = flags.name;
30
30
  if (!name) {
31
31
  if (!process.stdin.isTTY) {
32
- console.error("Usage: volute pages register --name <system-name>");
32
+ console.error("Usage: volute auth register --name <system-name>");
33
33
  process.exit(1);
34
34
  }
35
35
  name = await promptLine("Choose a system name: ");
@@ -55,7 +55,7 @@ async function run(args) {
55
55
  } catch (err) {
56
56
  console.error(`Failed to save credentials: ${err.message}`);
57
57
  console.error(`Your API key is: ${apiKey}`);
58
- console.error(`Save it and run: volute pages login --key ${apiKey}`);
58
+ console.error(`Save it and run: volute auth login --key ${apiKey}`);
59
59
  process.exit(1);
60
60
  }
61
61
  console.log(`Registered as "${system}". Credentials saved.`);
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ addMind,
4
+ daemonLoopback,
5
+ ensureVoluteHome,
6
+ findMind,
7
+ getRegistryCache,
8
+ initRegistryCache,
9
+ mindDir,
10
+ nextPort,
11
+ readRegistry,
12
+ removeMind,
13
+ resolveMind,
14
+ setMindRunning,
15
+ setMindStage,
16
+ setMindTemplateHash,
17
+ stateDir,
18
+ validateMindName,
19
+ voluteHome,
20
+ writeRegistry
21
+ } from "./chunk-B2CPS4QU.js";
22
+ import "./chunk-K3NQKI34.js";
23
+ export {
24
+ addMind,
25
+ daemonLoopback,
26
+ ensureVoluteHome,
27
+ findMind,
28
+ getRegistryCache,
29
+ initRegistryCache,
30
+ mindDir,
31
+ nextPort,
32
+ readRegistry,
33
+ removeMind,
34
+ resolveMind,
35
+ setMindRunning,
36
+ setMindStage,
37
+ setMindTemplateHash,
38
+ stateDir,
39
+ validateMindName,
40
+ voluteHome,
41
+ writeRegistry
42
+ };
@@ -8,16 +8,13 @@ import {
8
8
  } from "./chunk-NAOW2CLO.js";
9
9
  import {
10
10
  daemonFetch
11
- } from "./chunk-WC6ZHVRL.js";
12
- import {
13
- resolveMind
14
- } from "./chunk-EBGCNDMM.js";
11
+ } from "./chunk-KFI7TQJ6.js";
12
+ import "./chunk-B2CPS4QU.js";
15
13
  import "./chunk-K3NQKI34.js";
16
14
 
17
15
  // src/commands/restart.ts
18
16
  async function run(args) {
19
17
  const name = resolveMindName({ mind: args[0] });
20
- const { entry } = resolveMind(name);
21
18
  const client = getClient();
22
19
  const res = await daemonFetch(
23
20
  urlOf(client.api.minds[":name"].restart.$url({ param: { name } })),
@@ -28,7 +25,7 @@ async function run(args) {
28
25
  console.error(data.error || "Failed to restart mind");
29
26
  process.exit(1);
30
27
  }
31
- console.log(`${name} restarted on port ${entry.port}`);
28
+ console.log(`${name} restarted on port ${data.port}`);
32
29
  }
33
30
  export {
34
31
  run
@@ -11,8 +11,8 @@ import {
11
11
  } from "./chunk-D424ZQGI.js";
12
12
  import {
13
13
  daemonFetch
14
- } from "./chunk-WC6ZHVRL.js";
15
- import "./chunk-EBGCNDMM.js";
14
+ } from "./chunk-KFI7TQJ6.js";
15
+ import "./chunk-B2CPS4QU.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/schedule.ts
@@ -15,13 +15,13 @@ async function run(args) {
15
15
  const name = positional[0];
16
16
  if (!name) {
17
17
  console.error(
18
- "Usage: volute seed <name> [--template <name>] [--model <model>] [--description <text>] [--skills <list|none>]"
18
+ "Usage: volute mind seed <name> [--template <name>] [--model <model>] [--description <text>] [--skills <list|none>]"
19
19
  );
20
20
  process.exit(1);
21
21
  }
22
22
  const template = flags.template ?? "claude";
23
23
  const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
24
- const { daemonFetch } = await import("./daemon-client-ITWUCNFO.js");
24
+ const { daemonFetch } = await import("./daemon-client-ZHCDL4RS.js");
25
25
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
26
26
  const client = getClient();
27
27
  const createRes = await daemonFetch(urlOf(client.api.minds.$url()), {