volute 0.11.2 → 0.11.4
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/dist/{agent-ER2OFKWQ.js → agent-2AQPI3QV.js} +2 -2
- package/dist/{agent-manager-RXNMLNUQ.js → agent-manager-AZUDAKCP.js} +1 -1
- package/dist/{chunk-SJFWB3Q3.js → chunk-YTOPX4PB.js} +7 -3
- package/dist/{chunk-RT6Y7AR3.js → chunk-YY2QX2J6.js} +10 -8
- package/dist/cli.js +7 -7
- package/dist/{daemon-restart-YITZ6Y2E.js → daemon-restart-5W5AGBZ2.js} +1 -1
- package/dist/daemon.js +9 -4
- package/dist/{package-6P4FEQHC.js → package-KVUXPTEW.js} +1 -1
- package/dist/{status-QN5G4RRK.js → status-DFWM342I.js} +1 -1
- package/dist/{up-AZ5TUREI.js → up-365HL7UT.js} +1 -1
- package/dist/{update-EZNCCKXS.js → update-PV3XM6DX.js} +2 -2
- package/dist/{update-check-SM4244SU.js → update-check-YPGH5X4E.js} +1 -1
- package/package.json +1 -1
- /package/dist/{chunk-COY6TMEK.js → chunk-D5EVQTGJ.js} +0 -0
|
@@ -21,14 +21,14 @@ async function run(args) {
|
|
|
21
21
|
await import("./delete-BOTVU4YO.js").then((m) => m.run(args.slice(1)));
|
|
22
22
|
break;
|
|
23
23
|
case "list":
|
|
24
|
-
await import("./status-
|
|
24
|
+
await import("./status-DFWM342I.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_AGENT) {
|
|
29
29
|
rest.unshift(process.env.VOLUTE_AGENT);
|
|
30
30
|
}
|
|
31
|
-
await import("./status-
|
|
31
|
+
await import("./status-DFWM342I.js").then((m) => m.run(rest));
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
34
34
|
case "logs": {
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
|
|
20
20
|
// src/lib/agent-manager.ts
|
|
21
21
|
import { execFile, spawn } from "child_process";
|
|
22
|
-
import {
|
|
22
|
+
import { existsSync as existsSync3, mkdirSync, readFileSync as readFileSync2, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
23
23
|
import { resolve } from "path";
|
|
24
24
|
import { promisify } from "util";
|
|
25
25
|
|
|
@@ -184,8 +184,12 @@ var AgentManager = class {
|
|
|
184
184
|
}
|
|
185
185
|
} catch {
|
|
186
186
|
}
|
|
187
|
-
const
|
|
187
|
+
const agentStateDir = stateDir(name);
|
|
188
|
+
const logsDir = resolve(agentStateDir, "logs");
|
|
188
189
|
mkdirSync(logsDir, { recursive: true });
|
|
190
|
+
if (isIsolationEnabled()) {
|
|
191
|
+
chownAgentDir(agentStateDir, baseName);
|
|
192
|
+
}
|
|
189
193
|
const logStream = new RotatingLog(resolve(logsDir, "agent.log"));
|
|
190
194
|
const agentEnv = loadMergedEnv(name);
|
|
191
195
|
const env = {
|
|
@@ -209,7 +213,7 @@ var AgentManager = class {
|
|
|
209
213
|
const agentCreds = resolve(agentClaudeDir, ".credentials.json");
|
|
210
214
|
if (existsSync3(sharedCreds)) {
|
|
211
215
|
try {
|
|
212
|
-
|
|
216
|
+
writeFileSync2(agentCreds, readFileSync2(sharedCreds));
|
|
213
217
|
} catch (err) {
|
|
214
218
|
throw new Error(
|
|
215
219
|
`Cannot start agent ${name}: failed to copy credentials to ${agentClaudeDir}: ${err instanceof Error ? err.message : err}`
|
|
@@ -70,15 +70,17 @@ function isNewer(current, latest) {
|
|
|
70
70
|
if (hasPrerelease(current) && !hasPrerelease(latest)) return true;
|
|
71
71
|
return false;
|
|
72
72
|
}
|
|
73
|
-
async function checkForUpdate() {
|
|
73
|
+
async function checkForUpdate(force = false) {
|
|
74
74
|
const current = getCurrentVersion();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
if (!force) {
|
|
76
|
+
const cache = readCache();
|
|
77
|
+
if (cache && Date.now() - cache.checkedAt < CACHE_TTL) {
|
|
78
|
+
return {
|
|
79
|
+
current,
|
|
80
|
+
latest: cache.latest,
|
|
81
|
+
updateAvailable: isNewer(current, cache.latest)
|
|
82
|
+
};
|
|
83
|
+
}
|
|
82
84
|
}
|
|
83
85
|
try {
|
|
84
86
|
const latest = await fetchLatestVersion();
|
package/dist/cli.js
CHANGED
|
@@ -9,13 +9,13 @@ if (!process.env.VOLUTE_HOME) {
|
|
|
9
9
|
var command = process.argv[2];
|
|
10
10
|
var args = process.argv.slice(3);
|
|
11
11
|
if (command === "--version" || command === "-v") {
|
|
12
|
-
const { default: pkg } = await import("./package-
|
|
12
|
+
const { default: pkg } = await import("./package-KVUXPTEW.js");
|
|
13
13
|
console.log(pkg.version);
|
|
14
14
|
process.exit(0);
|
|
15
15
|
}
|
|
16
16
|
switch (command) {
|
|
17
17
|
case "agent":
|
|
18
|
-
await import("./agent-
|
|
18
|
+
await import("./agent-2AQPI3QV.js").then((m) => m.run(args));
|
|
19
19
|
break;
|
|
20
20
|
case "send":
|
|
21
21
|
await import("./send-X6OQGSD6.js").then((m) => m.run(args));
|
|
@@ -39,13 +39,13 @@ switch (command) {
|
|
|
39
39
|
await import("./env-CGORIKVF.js").then((m) => m.run(args));
|
|
40
40
|
break;
|
|
41
41
|
case "up":
|
|
42
|
-
await import("./up-
|
|
42
|
+
await import("./up-365HL7UT.js").then((m) => m.run(args));
|
|
43
43
|
break;
|
|
44
44
|
case "down":
|
|
45
45
|
await import("./down-O2EQJ5DO.js").then((m) => m.run(args));
|
|
46
46
|
break;
|
|
47
47
|
case "restart":
|
|
48
|
-
await import("./daemon-restart-
|
|
48
|
+
await import("./daemon-restart-5W5AGBZ2.js").then((m) => m.run(args));
|
|
49
49
|
break;
|
|
50
50
|
case "setup":
|
|
51
51
|
await import("./setup-7N4KYOYN.js").then((m) => m.run(args));
|
|
@@ -54,10 +54,10 @@ switch (command) {
|
|
|
54
54
|
await import("./service-UL3OCODG.js").then((m) => m.run(args));
|
|
55
55
|
break;
|
|
56
56
|
case "update":
|
|
57
|
-
await import("./update-
|
|
57
|
+
await import("./update-PV3XM6DX.js").then((m) => m.run(args));
|
|
58
58
|
break;
|
|
59
59
|
case "status":
|
|
60
|
-
await import("./status-
|
|
60
|
+
await import("./status-DFWM342I.js").then((m) => m.run(args));
|
|
61
61
|
break;
|
|
62
62
|
case "--help":
|
|
63
63
|
case "-h":
|
|
@@ -124,7 +124,7 @@ Run 'volute --help' for usage.`);
|
|
|
124
124
|
process.exit(1);
|
|
125
125
|
}
|
|
126
126
|
if (command !== "update") {
|
|
127
|
-
import("./update-check-
|
|
127
|
+
import("./update-check-YPGH5X4E.js").then((m) => m.checkForUpdate()).then((result) => {
|
|
128
128
|
if (result.updateAvailable) {
|
|
129
129
|
console.error(`
|
|
130
130
|
Update available: ${result.current} \u2192 ${result.latest}`);
|
package/dist/daemon.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
initAgentManager,
|
|
7
7
|
loadJsonMap,
|
|
8
8
|
saveJsonMap
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YTOPX4PB.js";
|
|
10
10
|
import {
|
|
11
11
|
applyIsolation,
|
|
12
12
|
chownAgentDir,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
checkForUpdate,
|
|
45
45
|
checkForUpdateCached,
|
|
46
46
|
getCurrentVersion
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-YY2QX2J6.js";
|
|
48
48
|
import "./chunk-D424ZQGI.js";
|
|
49
49
|
import {
|
|
50
50
|
slugify,
|
|
@@ -244,8 +244,13 @@ var ConnectorManager = class {
|
|
|
244
244
|
} else {
|
|
245
245
|
throw new Error(`No connector code found for type: ${type}`);
|
|
246
246
|
}
|
|
247
|
-
const
|
|
247
|
+
const agentStateDir = stateDir(agentName);
|
|
248
|
+
const logsDir = resolve2(agentStateDir, "logs");
|
|
248
249
|
mkdirSync(logsDir, { recursive: true });
|
|
250
|
+
if (isIsolationEnabled()) {
|
|
251
|
+
const [base] = agentName.split("@", 2);
|
|
252
|
+
chownAgentDir(agentStateDir, base);
|
|
253
|
+
}
|
|
249
254
|
const logStream = new RotatingLog(resolve2(logsDir, `${type}.log`));
|
|
250
255
|
const agentEnv = loadMergedEnv(agentName);
|
|
251
256
|
const prefix = `${type.toUpperCase()}_`;
|
|
@@ -3522,7 +3527,7 @@ var app13 = new Hono13().post("/:name/chat", zValidator3("json", chatSchema), as
|
|
|
3522
3527
|
const participants = await getParticipants(conversationId);
|
|
3523
3528
|
const agentParticipants = participants.filter((p) => p.userType === "agent");
|
|
3524
3529
|
const participantNames = participants.map((p) => p.username);
|
|
3525
|
-
const { getAgentManager: getAgentManager2 } = await import("./agent-manager-
|
|
3530
|
+
const { getAgentManager: getAgentManager2 } = await import("./agent-manager-AZUDAKCP.js");
|
|
3526
3531
|
const manager = getAgentManager2();
|
|
3527
3532
|
const runningAgents = agentParticipants.map((ap) => {
|
|
3528
3533
|
const agentKey = ap.username === baseName ? name : ap.username;
|
|
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
4
4
|
// package.json
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "volute",
|
|
7
|
-
version: "0.11.
|
|
7
|
+
version: "0.11.4",
|
|
8
8
|
description: "CLI for creating and managing self-modifying AI agents powered by the Claude Agent SDK",
|
|
9
9
|
type: "module",
|
|
10
10
|
license: "MIT",
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-WTJI3JVR.js";
|
|
14
14
|
import {
|
|
15
15
|
checkForUpdate
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YY2QX2J6.js";
|
|
17
17
|
import {
|
|
18
18
|
voluteHome
|
|
19
19
|
} from "./chunk-DP2DX4WV.js";
|
|
@@ -23,7 +23,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
23
23
|
import { existsSync, readFileSync, unlinkSync } from "fs";
|
|
24
24
|
import { resolve } from "path";
|
|
25
25
|
async function run(_args) {
|
|
26
|
-
const result = await checkForUpdate();
|
|
26
|
+
const result = await checkForUpdate(true);
|
|
27
27
|
if (result.checkFailed) {
|
|
28
28
|
console.error("Could not reach npm registry. Check your network connection and try again.");
|
|
29
29
|
process.exit(1);
|
package/package.json
CHANGED
|
File without changes
|