volute 0.20.0 → 0.22.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.
- package/README.md +7 -7
- package/dist/{activity-events-OMXKXD5N.js → activity-events-3WHHCOBB.js} +3 -4
- package/dist/api.d.ts +4294 -0
- package/dist/{archive-ZCFOSTKB.js → archive-4ZQYK5MN.js} +4 -2
- package/dist/auth-HM2RSPY7.js +37 -0
- package/dist/{channel-PUQKGSQM.js → channel-BOOMFULW.js} +2 -2
- package/dist/{chunk-UU7A7KLB.js → chunk-A4S7H6G6.js} +5 -7
- package/dist/chunk-AKPFNL7L.js +148 -0
- package/dist/{chunk-EBGCNDMM.js → chunk-B2CPS4QU.js} +128 -114
- package/dist/chunk-G5KRTU2F.js +76 -0
- package/dist/{chunk-FCDU5BFX.js → chunk-HFCBO2GL.js} +2 -2
- package/dist/{chunk-GZ7DW4YL.js → chunk-HGCDWKSP.js} +2 -2
- package/dist/{chunk-7UFKREVW.js → chunk-JNFRY2WU.js} +2 -2
- package/dist/{chunk-DYZGP3EW.js → chunk-JTDFJWI2.js} +2 -1
- package/dist/{chunk-WC6ZHVRL.js → chunk-KFI7TQJ6.js} +2 -2
- package/dist/{chunk-AW7P4EVV.js → chunk-KTJGZ7M7.js} +55 -7
- package/dist/{chunk-OGXOMR65.js → chunk-NWPT4ASZ.js} +1 -1
- package/dist/{chunk-SCUDS4US.js → chunk-ON3FF5JA.js} +1 -1
- package/dist/chunk-OSFGKF2T.js +2651 -0
- package/dist/{chunk-TIWH32HP.js → chunk-PHHKNGA3.js} +3 -3
- package/dist/{chunk-VDWCHYTS.js → chunk-PHU4DEAJ.js} +1 -1
- package/dist/{chunk-7NO7EV5Z.js → chunk-QIXPN3OO.js} +2 -2
- package/dist/{chunk-O6ASDHFO.js → chunk-RK627D57.js} +40 -63
- package/dist/{chunk-NSE7VJQA.js → chunk-SGPEZ32F.js} +29 -1
- package/dist/{chunk-IKMY5X76.js → chunk-TFS25FIM.js} +12 -9
- package/dist/{chunk-PUVXOZ6T.js → chunk-VNVCRVYI.js} +118 -69
- package/dist/{chunk-32VR2EOH.js → chunk-VT5QODNE.js} +2 -2
- package/dist/{chunk-RHEGSQFJ.js → chunk-WSLPZF72.js} +1 -1
- package/dist/chunk-XLC342FO.js +29 -0
- package/dist/cli.js +57 -119
- package/dist/cloud-sync-C6WRYRVR.js +96 -0
- package/dist/{connector-JBVNZ7VK.js → connector-PYT5UOTZ.js} +6 -6
- package/dist/connectors/discord.js +2 -2
- package/dist/connectors/slack.js +2 -2
- package/dist/connectors/telegram.js +2 -2
- package/dist/{create-HP4OVVHF.js → create-WIDA3M4C.js} +1 -1
- package/dist/{daemon-client-ITWUCNFO.js → daemon-client-ZHCDL4RS.js} +2 -2
- package/dist/{daemon-restart-KPSWNYTH.js → daemon-restart-TPQ2XBRZ.js} +6 -6
- package/dist/daemon.js +2250 -1985
- package/dist/{delete-BSU7K3RY.js → delete-LOIANQGD.js} +1 -1
- package/dist/down-WSUASL5E.js +14 -0
- package/dist/{env-A3LMO777.js → env-4PHIHTF4.js} +2 -2
- package/dist/{export-6QBUOQGC.js → export-XD6PJBQP.js} +19 -8
- package/dist/{file-C57SK5DK.js → file-X4L5TTOL.js} +2 -2
- package/dist/{history-WNK3DFUM.js → history-HTEKRNID.js} +2 -2
- package/dist/{import-XEC34Y4Z.js → import-EAXTHHXL.js} +4 -3
- package/dist/{log-PPPZDVEF.js → log-SRO5Q6AD.js} +2 -2
- package/dist/{login-HNH3EUQV.js → login-UO6AOVEA.js} +4 -4
- package/dist/{logout-I5CB5UZS.js → logout-UKD5LA37.js} +2 -2
- package/dist/{logs-SF2IMJN4.js → logs-HNTNNBDW.js} +2 -2
- package/dist/{merge-33C237A4.js → merge-B6SYTGI7.js} +2 -2
- package/dist/message-delivery-WUS4K4ZC.js +21 -0
- package/dist/{mind-Z7CKD6DG.js → mind-BTXR5B3C.js} +35 -11
- package/dist/{mind-activity-tracker-624QLQLC.js → mind-activity-tracker-PGC3DBJ7.js} +4 -5
- package/dist/{mind-manager-3DMYKZPB.js → mind-manager-P5OBDUKI.js} +5 -6
- package/dist/mind-sleep-FWRBIFBS.js +41 -0
- package/dist/mind-wake-LJK2YU5X.js +36 -0
- package/dist/{package-4NHAVUUI.js → package-A7PEYJI2.js} +10 -1
- package/dist/{pages-4DGQT7ZA.js → pages-YSTRWJR4.js} +6 -6
- package/dist/{publish-TAJUET4I.js → publish-BZNHKUUK.js} +6 -6
- package/dist/{pull-XAEWQJ47.js → pull-GRQAXM2E.js} +2 -2
- package/dist/{register-VSPCMHKX.js → register-U2UO6TC4.js} +5 -5
- package/dist/registry-D2BSQ2X5.js +42 -0
- package/dist/{restart-IQKMCK5M.js → restart-CIDAKGG2.js} +3 -6
- package/dist/{schedule-FFZG23IW.js → schedule-NLR3LZLY.js} +2 -2
- package/dist/{seed-J43YDKXG.js → seed-3H2MRREW.js} +2 -2
- package/dist/{send-KVIZIGCE.js → send-RP2TA7SG.js} +132 -36
- package/dist/{service-LUR7WDO7.js → service-7BFXDI6J.js} +31 -13
- package/dist/{setup-52YRV7VP.js → setup-SSIIXQMI.js} +9 -34
- package/dist/{shared-KO35ZM44.js → shared-2OGT3NSL.js} +4 -4
- package/dist/{skill-BCVNI6TV.js → skill-Q2Y6PQ3L.js} +2 -2
- package/dist/skills/orientation/SKILL.md +2 -2
- package/dist/skills/volute-mind/SKILL.md +5 -5
- package/dist/sleep-manager-3RWUX2ZR.js +27 -0
- package/dist/{sprout-QN7Y4VVO.js → sprout-UKCYBGHK.js} +34 -30
- package/dist/{start-I5JYB65M.js → start-JR6CUUWF.js} +3 -6
- package/dist/{status-D7E5HHBV.js → status-5XDGYHKP.js} +2 -2
- package/dist/{status-4ESFLGH4.js → status-H2MKDN6L.js} +5 -5
- package/dist/{status-FU2PFVVF.js → status-LV34BG6G.js} +3 -3
- package/dist/{stop-NBVKEFQQ.js → stop-VKPGK25U.js} +2 -5
- package/dist/template-hash-BIMA4ILT.js +8 -0
- package/dist/{up-FS7CKM6V.js → up-JKGC7PPF.js} +5 -5
- package/dist/{update-FJIHDJKM.js → update-ELC6MEUT.js} +5 -5
- package/dist/{update-check-MWE5AH4U.js → update-check-F5Z3ALXX.js} +2 -2
- package/dist/{upgrade-AIT24B5I.js → upgrade-GXW2EQY3.js} +12 -3
- package/dist/{variant-63ZWO2W7.js → variant-A4I7PHXS.js} +16 -24
- package/dist/version-notify-5FGUAVSF.js +181 -0
- package/dist/web-assets/assets/index-DWBxl4LO.js +69 -0
- package/dist/web-assets/assets/index-ZqMd1mx1.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +10 -1
- package/templates/_base/.init/.config/prompts.json +1 -0
- package/templates/_base/home/.config/config.json.tmpl +4 -1
- package/templates/_base/src/lib/logger.ts +68 -23
- package/templates/_base/src/lib/startup.ts +12 -3
- package/templates/claude/src/agent.ts +150 -29
- package/templates/claude/src/lib/hooks/pre-compact.ts +18 -4
- package/templates/claude/src/lib/message-channel.ts +6 -0
- package/templates/claude/src/lib/stream-consumer.ts +7 -0
- package/templates/claude/src/server.ts +3 -1
- package/templates/pi/home/.config/config.json.tmpl +4 -1
- package/templates/pi/src/agent.ts +87 -0
- package/templates/pi/src/lib/event-handler.ts +13 -1
- package/templates/pi/src/server.ts +3 -1
- package/dist/chunk-5XNT2472.js +0 -36
- package/dist/chunk-FGSYHIS3.js +0 -891
- package/dist/chunk-UJ6GHNR7.js +0 -675
- package/dist/db-C2CJ46ZU.js +0 -10
- package/dist/delivery-manager-CSG7LXA4.js +0 -16
- package/dist/down-ZY35KMHR.js +0 -14
- package/dist/schema-GFH6RV3W.js +0 -26
- package/dist/variants-JAGWGBXG.js +0 -26
- package/dist/web-assets/assets/index-CUZTZzaW.js +0 -64
- 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-
|
|
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-QIXPN3OO.js";
|
|
6
|
+
import "./chunk-VT5QODNE.js";
|
|
7
|
+
import "./chunk-JTDFJWI2.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-
|
|
15
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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 {
|
|
63
|
-
const {
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
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],
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
} from "./chunk-D424ZQGI.js";
|
|
12
12
|
import {
|
|
13
13
|
daemonFetch
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
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,11 @@ import {
|
|
|
6
6
|
parseNameFromIdentity,
|
|
7
7
|
run,
|
|
8
8
|
sessionMatchesWorkspace
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-RK627D57.js";
|
|
10
|
+
import "./chunk-XLC342FO.js";
|
|
11
|
+
import "./chunk-PHU4DEAJ.js";
|
|
11
12
|
import "./chunk-D424ZQGI.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-B2CPS4QU.js";
|
|
13
14
|
import "./chunk-K3NQKI34.js";
|
|
14
15
|
export {
|
|
15
16
|
findOpenClawSession,
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
} from "./chunk-D424ZQGI.js";
|
|
8
8
|
import {
|
|
9
9
|
daemonFetch
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
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-
|
|
11
|
+
} from "./chunk-HFCBO2GL.js";
|
|
12
12
|
import {
|
|
13
13
|
parseArgs
|
|
14
14
|
} from "./chunk-D424ZQGI.js";
|
|
15
|
-
import "./chunk-
|
|
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
|
|
32
|
+
console.error("Usage: volute auth login --key <api-key>");
|
|
33
33
|
process.exit(1);
|
|
34
34
|
}
|
|
35
35
|
key = await promptLine("API key: ");
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
} from "./chunk-D424ZQGI.js";
|
|
12
12
|
import {
|
|
13
13
|
daemonFetch
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
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-
|
|
11
|
-
import "./chunk-
|
|
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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
deliverMessage,
|
|
4
|
+
extractTextContent
|
|
5
|
+
} from "./chunk-OSFGKF2T.js";
|
|
6
|
+
import "./chunk-HFCBO2GL.js";
|
|
7
|
+
import "./chunk-HGCDWKSP.js";
|
|
8
|
+
import "./chunk-A4S7H6G6.js";
|
|
9
|
+
import "./chunk-VNVCRVYI.js";
|
|
10
|
+
import "./chunk-XLC342FO.js";
|
|
11
|
+
import "./chunk-PHU4DEAJ.js";
|
|
12
|
+
import "./chunk-SGPEZ32F.js";
|
|
13
|
+
import "./chunk-YUIHSKR6.js";
|
|
14
|
+
import "./chunk-JTDFJWI2.js";
|
|
15
|
+
import "./chunk-NWPT4ASZ.js";
|
|
16
|
+
import "./chunk-B2CPS4QU.js";
|
|
17
|
+
import "./chunk-K3NQKI34.js";
|
|
18
|
+
export {
|
|
19
|
+
deliverMessage,
|
|
20
|
+
extractTextContent
|
|
21
|
+
};
|
|
@@ -6,45 +6,63 @@ async function run(args) {
|
|
|
6
6
|
const subcommand = args[0];
|
|
7
7
|
switch (subcommand) {
|
|
8
8
|
case "create":
|
|
9
|
-
await import("./create-
|
|
9
|
+
await import("./create-WIDA3M4C.js").then((m) => m.run(args.slice(1)));
|
|
10
10
|
break;
|
|
11
11
|
case "start":
|
|
12
|
-
await import("./start-
|
|
12
|
+
await import("./start-JR6CUUWF.js").then((m) => m.run(args.slice(1)));
|
|
13
13
|
break;
|
|
14
14
|
case "stop":
|
|
15
|
-
await import("./stop-
|
|
15
|
+
await import("./stop-VKPGK25U.js").then((m) => m.run(args.slice(1)));
|
|
16
16
|
break;
|
|
17
17
|
case "restart":
|
|
18
|
-
await import("./restart-
|
|
18
|
+
await import("./restart-CIDAKGG2.js").then((m) => m.run(args.slice(1)));
|
|
19
19
|
break;
|
|
20
20
|
case "delete":
|
|
21
|
-
await import("./delete-
|
|
21
|
+
await import("./delete-LOIANQGD.js").then((m) => m.run(args.slice(1)));
|
|
22
22
|
break;
|
|
23
23
|
case "list":
|
|
24
|
-
await import("./status-
|
|
24
|
+
await import("./status-H2MKDN6L.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-
|
|
31
|
+
await import("./status-H2MKDN6L.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-
|
|
37
|
+
await import("./logs-HNTNNBDW.js").then((m) => m.run(logsArgs));
|
|
38
38
|
break;
|
|
39
39
|
}
|
|
40
40
|
case "upgrade":
|
|
41
|
-
await import("./upgrade-
|
|
41
|
+
await import("./upgrade-GXW2EQY3.js").then((m) => m.run(args.slice(1)));
|
|
42
42
|
break;
|
|
43
43
|
case "import":
|
|
44
|
-
await import("./import-
|
|
44
|
+
await import("./import-EAXTHHXL.js").then((m) => m.run(args.slice(1)));
|
|
45
45
|
break;
|
|
46
46
|
case "export":
|
|
47
|
-
await import("./export-
|
|
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-UKCYBGHK.js").then((m) => m.run(args.slice(1)));
|
|
60
|
+
break;
|
|
61
|
+
case "sleep":
|
|
62
|
+
await import("./mind-sleep-FWRBIFBS.js").then((m) => m.run(args.slice(1)));
|
|
63
|
+
break;
|
|
64
|
+
case "wake":
|
|
65
|
+
await import("./mind-wake-LJK2YU5X.js").then((m) => m.run(args.slice(1)));
|
|
48
66
|
break;
|
|
49
67
|
case "--help":
|
|
50
68
|
case "-h":
|
|
@@ -65,6 +83,7 @@ function transformMindFlag(args) {
|
|
|
65
83
|
function printUsage() {
|
|
66
84
|
console.log(`Usage:
|
|
67
85
|
volute mind create <name> [--template <name>]
|
|
86
|
+
volute mind seed <name> [--template <name>]
|
|
68
87
|
volute mind start <name>
|
|
69
88
|
volute mind stop [name]
|
|
70
89
|
volute mind restart [name]
|
|
@@ -72,6 +91,11 @@ function printUsage() {
|
|
|
72
91
|
volute mind list
|
|
73
92
|
volute mind status [name]
|
|
74
93
|
volute mind logs [name] [--follow] [-n N]
|
|
94
|
+
volute mind connect <type> [--mind <name>]
|
|
95
|
+
volute mind disconnect <type> [--mind <name>]
|
|
96
|
+
volute mind sprout
|
|
97
|
+
volute mind sleep [name] [--wake-at <time>]
|
|
98
|
+
volute mind wake [name]
|
|
75
99
|
volute mind upgrade [name] [--template <name>] [--continue]
|
|
76
100
|
volute mind import <path> [--name <name>] [--session <path>] [--template <name>]
|
|
77
101
|
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-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-HGCDWKSP.js";
|
|
8
|
+
import "./chunk-A4S7H6G6.js";
|
|
9
|
+
import "./chunk-SGPEZ32F.js";
|
|
9
10
|
import "./chunk-YUIHSKR6.js";
|
|
10
|
-
import "./chunk-
|
|
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-
|
|
6
|
+
} from "./chunk-VNVCRVYI.js";
|
|
7
|
+
import "./chunk-PHU4DEAJ.js";
|
|
8
|
+
import "./chunk-SGPEZ32F.js";
|
|
7
9
|
import "./chunk-YUIHSKR6.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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,
|
|
@@ -0,0 +1,41 @@
|
|
|
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-KFI7TQJ6.js";
|
|
11
|
+
import "./chunk-B2CPS4QU.js";
|
|
12
|
+
import "./chunk-K3NQKI34.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/mind-sleep.ts
|
|
15
|
+
async function run(args) {
|
|
16
|
+
const { positional, flags } = parseArgs(args, {
|
|
17
|
+
mind: { type: "string" },
|
|
18
|
+
"wake-at": { type: "string" }
|
|
19
|
+
});
|
|
20
|
+
const name = positional[0] || resolveMindName(flags);
|
|
21
|
+
if (!name) {
|
|
22
|
+
console.error("Usage: volute mind sleep <name> [--wake-at <time>]");
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
const body = {};
|
|
26
|
+
if (flags["wake-at"]) body.wakeAt = flags["wake-at"];
|
|
27
|
+
const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/sleep`, {
|
|
28
|
+
method: "POST",
|
|
29
|
+
headers: { "Content-Type": "application/json" },
|
|
30
|
+
body: JSON.stringify(body)
|
|
31
|
+
});
|
|
32
|
+
const data = await res.json();
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
console.error(data.error || "Failed to put mind to sleep");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
console.log(`${name} is going to sleep`);
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
run
|
|
41
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
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-KFI7TQJ6.js";
|
|
11
|
+
import "./chunk-B2CPS4QU.js";
|
|
12
|
+
import "./chunk-K3NQKI34.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/mind-wake.ts
|
|
15
|
+
async function run(args) {
|
|
16
|
+
const { positional, flags } = parseArgs(args, {
|
|
17
|
+
mind: { type: "string" }
|
|
18
|
+
});
|
|
19
|
+
const name = positional[0] || resolveMindName(flags);
|
|
20
|
+
if (!name) {
|
|
21
|
+
console.error("Usage: volute mind wake <name>");
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/wake`, {
|
|
25
|
+
method: "POST"
|
|
26
|
+
});
|
|
27
|
+
const data = await res.json();
|
|
28
|
+
if (!res.ok) {
|
|
29
|
+
console.error(data.error || "Failed to wake mind");
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
console.log(`${name} is waking up`);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
run
|
|
36
|
+
};
|
|
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
4
4
|
// package.json
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "volute",
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.22.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",
|
|
@@ -19,12 +19,21 @@ var package_default = {
|
|
|
19
19
|
"claude",
|
|
20
20
|
"anthropic"
|
|
21
21
|
],
|
|
22
|
+
workspaces: [
|
|
23
|
+
"packages/*"
|
|
24
|
+
],
|
|
22
25
|
engines: {
|
|
23
26
|
node: ">=24"
|
|
24
27
|
},
|
|
25
28
|
bin: {
|
|
26
29
|
volute: "dist/cli.js"
|
|
27
30
|
},
|
|
31
|
+
exports: {
|
|
32
|
+
".": "./dist/cli.js",
|
|
33
|
+
"./api": {
|
|
34
|
+
types: "./dist/api.d.ts"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
28
37
|
files: [
|
|
29
38
|
"dist/",
|
|
30
39
|
"drizzle/",
|
|
@@ -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-
|
|
9
|
+
await import("./publish-BZNHKUUK.js").then((m) => m.run(args.slice(1)));
|
|
10
10
|
break;
|
|
11
11
|
case "status":
|
|
12
|
-
await import("./status-
|
|
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
|
|
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-
|
|
10
|
+
} from "./chunk-PHHKNGA3.js";
|
|
11
11
|
import {
|
|
12
12
|
readSystemsConfig
|
|
13
|
-
} from "./chunk-
|
|
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-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-JTDFJWI2.js";
|
|
19
|
+
import "./chunk-NWPT4ASZ.js";
|
|
20
20
|
import {
|
|
21
21
|
mindDir
|
|
22
|
-
} from "./chunk-
|
|
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
|
|
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-
|
|
11
|
-
import "./chunk-
|
|
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-
|
|
11
|
+
} from "./chunk-HFCBO2GL.js";
|
|
12
12
|
import {
|
|
13
13
|
parseArgs
|
|
14
14
|
} from "./chunk-D424ZQGI.js";
|
|
15
|
-
import "./chunk-
|
|
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
|
|
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
|
|
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
|
+
};
|