vilvona 1.0.1 → 1.0.2
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/openclaw.mjs +37 -16
- package/package.json +1 -1
package/openclaw.mjs
CHANGED
|
@@ -18,12 +18,12 @@ const [curMajor, curMinor] = process.versions.node.split(".").map(Number);
|
|
|
18
18
|
if (curMajor < MIN_MAJOR || (curMajor === MIN_MAJOR && curMinor < MIN_MINOR)) {
|
|
19
19
|
process.stderr.write(
|
|
20
20
|
`\nVilvona AI requires Node.js ${MIN_MAJOR}.${MIN_MINOR}+\n` +
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
`Current version: v${process.versions.node}\n\n` +
|
|
22
|
+
`Fix it with nvm:\n` +
|
|
23
|
+
` nvm install ${MIN_MAJOR}\n` +
|
|
24
|
+
` nvm use ${MIN_MAJOR}\n` +
|
|
25
|
+
` nvm alias default ${MIN_MAJOR}\n\n` +
|
|
26
|
+
`Then run: npx vilvona\n\n`,
|
|
27
27
|
);
|
|
28
28
|
process.exit(1);
|
|
29
29
|
}
|
|
@@ -42,8 +42,7 @@ const ENTRY = path.join(CACHE_DIR, "node_modules", "openclaw", "dist", "entry.js
|
|
|
42
42
|
// ── Install openclaw runtime if not cached ────────────────────────────────────
|
|
43
43
|
if (!existsSync(ENTRY)) {
|
|
44
44
|
process.stderr.write(
|
|
45
|
-
`\nVilvona AI — first run setup\n` +
|
|
46
|
-
`Installing OpenClaw runtime v${OPENCLAW_VERSION}...\n\n`
|
|
45
|
+
`\nVilvona AI — first run setup\n` + `Installing OpenClaw runtime v${OPENCLAW_VERSION}...\n\n`,
|
|
47
46
|
);
|
|
48
47
|
|
|
49
48
|
mkdirSync(CACHE_DIR, { recursive: true });
|
|
@@ -51,12 +50,12 @@ if (!existsSync(ENTRY)) {
|
|
|
51
50
|
try {
|
|
52
51
|
execSync(
|
|
53
52
|
`npm install --prefix "${CACHE_DIR}" openclaw@${OPENCLAW_VERSION} --save=false --loglevel=error`,
|
|
54
|
-
{ stdio: "inherit" }
|
|
53
|
+
{ stdio: "inherit" },
|
|
55
54
|
);
|
|
56
55
|
} catch {
|
|
57
56
|
process.stderr.write(
|
|
58
57
|
`\nFailed to install runtime. Check your internet connection and try again.\n` +
|
|
59
|
-
|
|
58
|
+
`Or run: npm install -g openclaw && openclaw\n\n`,
|
|
60
59
|
);
|
|
61
60
|
process.exit(1);
|
|
62
61
|
}
|
|
@@ -69,6 +68,20 @@ if (!existsSync(ENTRY)) {
|
|
|
69
68
|
process.stderr.write(`\nSetup complete. Starting Vilvona AI...\n\n`);
|
|
70
69
|
}
|
|
71
70
|
|
|
71
|
+
// ── Vilvona AI banner ─────────────────────────────────────────────────────────
|
|
72
|
+
process.stdout.write(
|
|
73
|
+
"\n\x1b[35m" +
|
|
74
|
+
"██╗ ██╗██╗██╗ ██╗ ██╗ ██████╗ ███╗ ██╗ █████╗ █████╗ ██╗\n" +
|
|
75
|
+
"██║ ██║██║██║ ██║ ██║██╔═══██╗████╗ ██║██╔══██╗ ██╔══██╗██║\n" +
|
|
76
|
+
"██║ ██║██║██║ ██║ ██║██║ ██║██╔██╗ ██║███████║ ███████║██║\n" +
|
|
77
|
+
"╚██╗ ██╔╝██║██║ ╚██╗ ██╔╝██║ ██║██║╚██╗██║██╔══██║ ██╔══██║██║\n" +
|
|
78
|
+
" ╚████╔╝ ██║███████╗ ╚████╔╝ ╚██████╔╝██║ ╚████║██║ ██║ ██║ ██║██║\n" +
|
|
79
|
+
" ╚═══╝ ╚═╝╚══════╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝\n" +
|
|
80
|
+
"\x1b[0m" +
|
|
81
|
+
"\x1b[36m Powered by Claude Fable 5 • Tamil & Hindi • Mobile PWA\x1b[0m\n" +
|
|
82
|
+
"\x1b[90m github.com/vignesh2027/Vilvona-AI • by Vignesh S\x1b[0m\n\n"
|
|
83
|
+
);
|
|
84
|
+
|
|
72
85
|
// ── Set Vilvona defaults ──────────────────────────────────────────────────────
|
|
73
86
|
process.env.OPENCLAW_DEFAULT_MODEL =
|
|
74
87
|
process.env.VILVONA_DEFAULT_MODEL ??
|
|
@@ -80,15 +93,23 @@ if (process.env.VILVONA_PRO_KEY) {
|
|
|
80
93
|
}
|
|
81
94
|
|
|
82
95
|
// ── Launch ────────────────────────────────────────────────────────────────────
|
|
83
|
-
const child = spawn(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
96
|
+
const child = spawn(process.execPath, [ENTRY, ...process.argv.slice(2)], {
|
|
97
|
+
stdio: "inherit",
|
|
98
|
+
env: process.env,
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Forward signals to child — Windows needs SIGTERM/SIGINT/SIGBREAK
|
|
102
|
+
const signals = process.platform === "win32"
|
|
103
|
+
? ["SIGTERM", "SIGINT", "SIGBREAK"]
|
|
104
|
+
: ["SIGTERM", "SIGINT", "SIGHUP", "SIGQUIT"];
|
|
105
|
+
|
|
106
|
+
for (const sig of signals) {
|
|
107
|
+
try { process.on(sig, () => { try { child.kill(sig); } catch {} }); } catch {}
|
|
108
|
+
}
|
|
88
109
|
|
|
89
110
|
child.on("exit", (code, signal) => {
|
|
90
111
|
if (signal) {
|
|
91
|
-
process.kill(process.pid, signal);
|
|
112
|
+
try { process.kill(process.pid, signal); } catch { process.exit(1); }
|
|
92
113
|
} else {
|
|
93
114
|
process.exit(code ?? 0);
|
|
94
115
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vilvona",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Vilvona AI — Your personal AI that connects everything. Claude Fable 5 powered, works on mobile, Tamil & Hindi support.",
|
|
5
5
|
"keywords": ["ai", "assistant", "claude", "fable5", "personal-ai", "whatsapp", "telegram", "slack", "tamil", "hindi", "self-hosted", "open-source", "chatbot", "automation"],
|
|
6
6
|
"homepage": "https://github.com/vignesh2027/Vilvona-AI#readme",
|