vmlive 1.0.12 → 1.0.13
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/package.json +1 -1
- package/src/cli.js +19 -20
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -683,19 +683,18 @@ const runLogin = async () => {
|
|
|
683
683
|
const runUpdate = async () => {
|
|
684
684
|
console.log('\x1b[36mUpdating vmlive to the latest version...\x1b[0m');
|
|
685
685
|
const { spawn } = await import('child_process');
|
|
686
|
-
|
|
686
|
+
|
|
687
687
|
const updateProcess = spawn('npm', ['install', 'vmlive@latest'], {
|
|
688
|
-
|
|
688
|
+
stdio: 'inherit'
|
|
689
689
|
});
|
|
690
690
|
|
|
691
691
|
updateProcess.on('exit', (code) => {
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
});
|
|
692
|
+
if (code === 0) {
|
|
693
|
+
console.log('\n\x1b[32m✔ vmlive updated successfully!\x1b[0m');
|
|
694
|
+
} else {
|
|
695
|
+
console.error(`\n\x1b[31m❌ Update failed with exit code ${code}\x1b[0m`);
|
|
696
|
+
}
|
|
697
|
+
process.exit(code || 0);
|
|
699
698
|
});
|
|
700
699
|
};
|
|
701
700
|
|
|
@@ -703,18 +702,18 @@ const runLlm = async () => {
|
|
|
703
702
|
const GATEKEEPER_URL = process.env.GATEKEEPER_URL || 'https://api.vm.live';
|
|
704
703
|
console.log('\x1b[36mDownloading AI Context Guide...\x1b[0m');
|
|
705
704
|
try {
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
process.exit(1);
|
|
710
|
-
}
|
|
711
|
-
const markdown = await res.text();
|
|
712
|
-
fs.writeFileSync(path.join(process.cwd(), 'vmlive-ai-rules.md'), markdown);
|
|
713
|
-
console.log('\x1b[32m✔ Successfully wrote vmlive-ai-rules.md to current directory.\x1b[0m');
|
|
714
|
-
console.log('\x1b[90m(Add this to your prompt context so your AI perfectly architect endpoints for you!)\x1b[0m');
|
|
715
|
-
} catch (err) {
|
|
716
|
-
console.error('\x1b[31m❌ Connection Failed:\x1b[0m', err.message);
|
|
705
|
+
const res = await fetch(`${GATEKEEPER_URL}/vmlive-ai-rules.md`);
|
|
706
|
+
if (!res.ok) {
|
|
707
|
+
console.error('\x1b[31m❌ Failed to download AI rules:\x1b[0m', res.status);
|
|
717
708
|
process.exit(1);
|
|
709
|
+
}
|
|
710
|
+
const markdown = await res.text();
|
|
711
|
+
fs.writeFileSync(path.join(process.cwd(), 'vmlive-ai-rules.md'), markdown);
|
|
712
|
+
console.log('\x1b[32m✔ Successfully wrote vmlive-ai-rules.md to current directory.\x1b[0m');
|
|
713
|
+
console.log('\x1b[90m(Add this to your prompt context so your AI perfectly architect endpoints for you!)\x1b[0m');
|
|
714
|
+
} catch (err) {
|
|
715
|
+
console.error('\x1b[31m❌ Connection Failed:\x1b[0m', err.message);
|
|
716
|
+
process.exit(1);
|
|
718
717
|
}
|
|
719
718
|
};
|
|
720
719
|
const main = async () => {
|