volute 0.8.3 → 0.10.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/dist/{agent-YORVRB6I.js → agent-ECRX44DB.js} +10 -10
- package/dist/{agent-manager-CMMH5KQQ.js → agent-manager-MRHHKAB6.js} +2 -2
- package/dist/api-client-YPKOZP2O.js +10 -0
- package/dist/{channel-RDGHBFSI.js → channel-2WHBRDTD.js} +66 -81
- package/dist/chunk-4RQBJWQX.js +17 -0
- package/dist/{chunk-YNNK4QN2.js → chunk-FYQGANL6.js} +40 -2
- package/dist/chunk-R3VB7NF5.js +205 -0
- package/dist/{chunk-23L3MKEV.js → chunk-STOEJOJO.js} +18 -4
- package/dist/cli.js +14 -14
- package/dist/{connector-ZP6MEFF4.js → connector-L2HBLZBW.js} +37 -20
- package/dist/create-VBZZNJOG.js +38 -0
- package/dist/{daemon-client-54J3EIZD.js → daemon-client-P44NU3KU.js} +1 -1
- package/dist/daemon-restart-QCLR6ZZV.js +61 -0
- package/dist/daemon.js +1732 -214
- package/dist/delete-BOTVU4YO.js +35 -0
- package/dist/{down-4DGRZRJU.js → down-4LIQG3CE.js} +3 -1
- package/dist/{env-KMNYGVZ2.js → env-CGORIKVF.js} +86 -37
- package/dist/{history-PXJVYLVY.js → history-NI5QP27M.js} +11 -8
- package/dist/import-2BZUWT23.js +21 -0
- package/dist/logs-APWVWGNX.js +77 -0
- package/dist/{package-2S7APQBC.js → package-ERGXEDAF.js} +1 -1
- package/dist/{restart-KVH3TK5N.js → restart-CCYM3MEC.js} +10 -4
- package/dist/{schedule-HCUCBNQI.js → schedule-E4MFGYSA.js} +24 -8
- package/dist/{send-BNC2S5BY.js → send-X6OQGSD6.js} +36 -28
- package/dist/{start-QU73YTJW.js → start-6YRS6FF6.js} +7 -2
- package/dist/{status-Q6ZQJXNI.js → status-SIMKH3ZE.js} +8 -3
- package/dist/{stop-N7U5N6A7.js → stop-UQSNF4CG.js} +7 -2
- package/dist/{up-RZJMSVQS.js → up-MNNPCMFF.js} +1 -1
- package/dist/upgrade-RSE4CZNE.js +55 -0
- package/dist/variant-7IZF6OWO.js +215 -0
- package/package.json +1 -1
- package/dist/chunk-ECPQXRLB.js +0 -264
- package/dist/chunk-NETNFBA5.js +0 -28
- package/dist/chunk-XUA3JUFK.js +0 -121
- package/dist/create-HGJHLABX.js +0 -96
- package/dist/daemon-restart-IMNCBWFV.js +0 -28
- package/dist/delete-45TGQC4N.js +0 -67
- package/dist/import-CNEDF3TD.js +0 -532
- package/dist/logs-TZB3MTLZ.js +0 -37
- package/dist/upgrade-CZF6PN7Y.js +0 -224
- package/dist/variant-RKXPN5DH.js +0 -476
- package/dist/{chunk-6RDCTVQK.js → chunk-4NAGJV3I.js} +0 -0
- package/dist/{chunk-W6TMWYU3.js → chunk-WV4W7BAT.js} +3 -3
- package/dist/{service-56CY4S6Z.js → service-OW35VZ5G.js} +3 -3
- package/dist/{setup-7SPMWF2O.js → setup-ABMZK6LS.js} +3 -3
package/dist/create-HGJHLABX.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
applyInitFiles,
|
|
4
|
-
composeTemplate,
|
|
5
|
-
copyTemplateToDir,
|
|
6
|
-
findTemplatesRoot,
|
|
7
|
-
listFiles
|
|
8
|
-
} from "./chunk-XUA3JUFK.js";
|
|
9
|
-
import {
|
|
10
|
-
parseArgs
|
|
11
|
-
} from "./chunk-D424ZQGI.js";
|
|
12
|
-
import {
|
|
13
|
-
chownAgentDir,
|
|
14
|
-
createAgentUser,
|
|
15
|
-
ensureVoluteGroup,
|
|
16
|
-
getAgentUserIds,
|
|
17
|
-
isIsolationEnabled
|
|
18
|
-
} from "./chunk-IQXBMFZG.js";
|
|
19
|
-
import {
|
|
20
|
-
exec,
|
|
21
|
-
execInherit
|
|
22
|
-
} from "./chunk-5C5JWR2L.js";
|
|
23
|
-
import {
|
|
24
|
-
addAgent,
|
|
25
|
-
agentDir,
|
|
26
|
-
ensureVoluteHome,
|
|
27
|
-
nextPort
|
|
28
|
-
} from "./chunk-DP2DX4WV.js";
|
|
29
|
-
import "./chunk-K3NQKI34.js";
|
|
30
|
-
|
|
31
|
-
// src/commands/create.ts
|
|
32
|
-
import { existsSync, rmSync } from "fs";
|
|
33
|
-
import { resolve } from "path";
|
|
34
|
-
var TEMPLATE_BRANCH = "volute/template";
|
|
35
|
-
async function run(args) {
|
|
36
|
-
const { positional, flags } = parseArgs(args, {
|
|
37
|
-
template: { type: "string" }
|
|
38
|
-
});
|
|
39
|
-
const name = positional[0];
|
|
40
|
-
const template = flags.template ?? "agent-sdk";
|
|
41
|
-
if (!name) {
|
|
42
|
-
console.error("Usage: volute agent create <name> [--template <name>]");
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
ensureVoluteHome();
|
|
46
|
-
const dest = agentDir(name);
|
|
47
|
-
if (existsSync(dest)) {
|
|
48
|
-
console.error(`Agent already exists: ${name}`);
|
|
49
|
-
process.exit(1);
|
|
50
|
-
}
|
|
51
|
-
const templatesRoot = findTemplatesRoot();
|
|
52
|
-
const { composedDir, manifest } = composeTemplate(templatesRoot, template);
|
|
53
|
-
try {
|
|
54
|
-
copyTemplateToDir(composedDir, dest, name, manifest);
|
|
55
|
-
applyInitFiles(dest);
|
|
56
|
-
const port = nextPort();
|
|
57
|
-
addAgent(name, port);
|
|
58
|
-
ensureVoluteGroup();
|
|
59
|
-
createAgentUser(name);
|
|
60
|
-
chownAgentDir(dest, name);
|
|
61
|
-
const ids = isIsolationEnabled() ? await getAgentUserIds(name) : void 0;
|
|
62
|
-
const env = ids ? { ...process.env, HOME: dest } : void 0;
|
|
63
|
-
console.log("Installing dependencies...");
|
|
64
|
-
await execInherit("npm", ["install"], { cwd: dest, uid: ids?.uid, gid: ids?.gid, env });
|
|
65
|
-
try {
|
|
66
|
-
await exec("git", ["init"], { cwd: dest, uid: ids?.uid, gid: ids?.gid, env });
|
|
67
|
-
await initTemplateBranch(dest, composedDir, manifest, ids, env);
|
|
68
|
-
} catch (err) {
|
|
69
|
-
rmSync(resolve(dest, ".git"), { recursive: true, force: true });
|
|
70
|
-
console.warn(
|
|
71
|
-
"\nWarning: git setup failed \u2014 variants and upgrades won't be available.",
|
|
72
|
-
"\nTo fix: ensure git is installed with user.name/user.email configured."
|
|
73
|
-
);
|
|
74
|
-
console.warn("Details:", err.message ?? err);
|
|
75
|
-
}
|
|
76
|
-
console.log(`
|
|
77
|
-
Created agent: ${name} (port ${port})`);
|
|
78
|
-
console.log(`
|
|
79
|
-
volute agent start ${name}`);
|
|
80
|
-
} finally {
|
|
81
|
-
rmSync(composedDir, { recursive: true, force: true });
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async function initTemplateBranch(projectRoot, composedDir, manifest, ids, env) {
|
|
85
|
-
const templateFiles = listFiles(composedDir).filter((f) => !f.startsWith(".init/") && !f.startsWith(".init\\")).map((f) => manifest.rename[f] ?? f);
|
|
86
|
-
const opts = { cwd: projectRoot, uid: ids?.uid, gid: ids?.gid, env };
|
|
87
|
-
await exec("git", ["checkout", "--orphan", TEMPLATE_BRANCH], opts);
|
|
88
|
-
await exec("git", ["add", "--", ...templateFiles], opts);
|
|
89
|
-
await exec("git", ["commit", "-m", "template update"], opts);
|
|
90
|
-
await exec("git", ["checkout", "-b", "main"], opts);
|
|
91
|
-
await exec("git", ["add", "-A"], opts);
|
|
92
|
-
await exec("git", ["commit", "-m", "initial commit"], opts);
|
|
93
|
-
}
|
|
94
|
-
export {
|
|
95
|
-
run
|
|
96
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
run
|
|
4
|
-
} from "./chunk-6RDCTVQK.js";
|
|
5
|
-
import {
|
|
6
|
-
stopDaemon
|
|
7
|
-
} from "./chunk-YNNK4QN2.js";
|
|
8
|
-
import "./chunk-D424ZQGI.js";
|
|
9
|
-
import "./chunk-DP2DX4WV.js";
|
|
10
|
-
import "./chunk-K3NQKI34.js";
|
|
11
|
-
|
|
12
|
-
// src/commands/daemon-restart.ts
|
|
13
|
-
async function run2(args) {
|
|
14
|
-
const result = await stopDaemon();
|
|
15
|
-
if (!result.stopped && result.reason === "systemd") {
|
|
16
|
-
console.error("Volute is managed by a systemd service.");
|
|
17
|
-
console.error("Use: sudo systemctl restart volute");
|
|
18
|
-
process.exit(1);
|
|
19
|
-
}
|
|
20
|
-
if (!result.stopped && result.reason === "kill-failed") {
|
|
21
|
-
console.error("Cannot restart: failed to stop the running daemon.");
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
await run(args);
|
|
25
|
-
}
|
|
26
|
-
export {
|
|
27
|
-
run2 as run
|
|
28
|
-
};
|
package/dist/delete-45TGQC4N.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
resolveAgentName
|
|
4
|
-
} from "./chunk-AZEL2IEK.js";
|
|
5
|
-
import {
|
|
6
|
-
deleteAgentUser as deleteAgentUser2
|
|
7
|
-
} from "./chunk-ECPQXRLB.js";
|
|
8
|
-
import {
|
|
9
|
-
parseArgs
|
|
10
|
-
} from "./chunk-D424ZQGI.js";
|
|
11
|
-
import {
|
|
12
|
-
deleteAgentUser
|
|
13
|
-
} from "./chunk-IQXBMFZG.js";
|
|
14
|
-
import {
|
|
15
|
-
agentDir,
|
|
16
|
-
findAgent,
|
|
17
|
-
removeAgent,
|
|
18
|
-
removeAllVariants,
|
|
19
|
-
stateDir
|
|
20
|
-
} from "./chunk-DP2DX4WV.js";
|
|
21
|
-
import "./chunk-K3NQKI34.js";
|
|
22
|
-
|
|
23
|
-
// src/commands/delete.ts
|
|
24
|
-
import { existsSync, rmSync } from "fs";
|
|
25
|
-
async function run(args) {
|
|
26
|
-
const { positional, flags } = parseArgs(args, {
|
|
27
|
-
force: { type: "boolean" }
|
|
28
|
-
});
|
|
29
|
-
const name = resolveAgentName({ agent: positional[0] });
|
|
30
|
-
const entry = findAgent(name);
|
|
31
|
-
if (!entry) {
|
|
32
|
-
console.error(`Unknown agent: ${name}`);
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
const { daemonFetch } = await import("./daemon-client-54J3EIZD.js");
|
|
37
|
-
const res = await daemonFetch(`/api/agents/${encodeURIComponent(name)}/stop`, {
|
|
38
|
-
method: "POST"
|
|
39
|
-
});
|
|
40
|
-
if (res.ok) {
|
|
41
|
-
console.log(`Stopped ${name}.`);
|
|
42
|
-
}
|
|
43
|
-
} catch {
|
|
44
|
-
}
|
|
45
|
-
const dir = agentDir(name);
|
|
46
|
-
removeAllVariants(name);
|
|
47
|
-
removeAgent(name);
|
|
48
|
-
await deleteAgentUser2(name);
|
|
49
|
-
console.log(`Removed ${name} from registry.`);
|
|
50
|
-
const state = stateDir(name);
|
|
51
|
-
if (existsSync(state)) {
|
|
52
|
-
rmSync(state, { recursive: true, force: true });
|
|
53
|
-
}
|
|
54
|
-
if (existsSync(dir)) {
|
|
55
|
-
if (!flags.force) {
|
|
56
|
-
console.log(`Directory: ${dir}`);
|
|
57
|
-
console.log("Use --force to also delete the agent directory.");
|
|
58
|
-
} else {
|
|
59
|
-
rmSync(dir, { recursive: true, force: true });
|
|
60
|
-
deleteAgentUser(name);
|
|
61
|
-
console.log(`Deleted ${dir}`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export {
|
|
66
|
-
run
|
|
67
|
-
};
|