erosolar-cli 1.7.29 → 1.7.31
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/contracts/agent-schemas.json +9 -2
- package/dist/core/isolatedVerifier.js +168 -17
- package/dist/core/isolatedVerifier.js.map +1 -1
- package/dist/core/modelDiscovery.d.ts.map +1 -1
- package/dist/core/modelDiscovery.js +11 -8
- package/dist/core/modelDiscovery.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +15 -13
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/updateManager.d.ts.map +1 -1
- package/dist/shell/updateManager.js +66 -2
- package/dist/shell/updateManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,56 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
1
|
+
import { spawn, execSync } from 'node:child_process';
|
|
2
2
|
import { stdin as input, stdout as output } from 'node:process';
|
|
3
3
|
import { createInterface } from 'node:readline/promises';
|
|
4
4
|
import { display } from '../ui/display.js';
|
|
5
5
|
const PACKAGE_NAME = 'erosolar-cli';
|
|
6
6
|
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
|
|
7
7
|
const FETCH_TIMEOUT_MS = 4000;
|
|
8
|
+
/**
|
|
9
|
+
* Auto-relaunch the CLI after an update.
|
|
10
|
+
* Uses exec to replace the current process with a fresh instance.
|
|
11
|
+
*/
|
|
12
|
+
function relaunchCLI() {
|
|
13
|
+
const args = process.argv.slice(2);
|
|
14
|
+
display.showInfo('🔄 Relaunching CLI with updated version...\n');
|
|
15
|
+
// Small delay to let the message display
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
try {
|
|
18
|
+
// Find the CLI path
|
|
19
|
+
const npmRoot = execSync('npm root -g', { encoding: 'utf8' }).trim();
|
|
20
|
+
const cliPath = `${npmRoot}/${PACKAGE_NAME}/dist/bin/erosolar.js`;
|
|
21
|
+
// Spawn a detached process that will outlive the current one
|
|
22
|
+
const child = spawn('node', [cliPath, ...args], {
|
|
23
|
+
stdio: 'inherit',
|
|
24
|
+
detached: false,
|
|
25
|
+
env: {
|
|
26
|
+
...process.env,
|
|
27
|
+
EROSOLAR_JUST_UPDATED: '1', // Signal to skip update check
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
// Exit the current process once child is running
|
|
31
|
+
child.on('spawn', () => {
|
|
32
|
+
// Give child a moment to start
|
|
33
|
+
setTimeout(() => process.exit(0), 100);
|
|
34
|
+
});
|
|
35
|
+
child.on('error', (err) => {
|
|
36
|
+
display.showWarning(`Auto-relaunch failed: ${err.message}`);
|
|
37
|
+
display.showInfo(`Please restart the CLI manually.`);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
display.showWarning(`Auto-relaunch failed: ${err instanceof Error ? err.message : 'unknown error'}`);
|
|
42
|
+
display.showInfo(`Please restart the CLI manually.`);
|
|
43
|
+
}
|
|
44
|
+
}, 500);
|
|
45
|
+
}
|
|
8
46
|
export async function maybeOfferCliUpdate(currentVersion) {
|
|
47
|
+
// Skip update check if we just relaunched after an update
|
|
48
|
+
if (process.env['EROSOLAR_JUST_UPDATED'] === '1') {
|
|
49
|
+
display.showInfo(`✨ Now running ${PACKAGE_NAME}@${currentVersion}`);
|
|
50
|
+
// Clear the flag for future runs
|
|
51
|
+
delete process.env['EROSOLAR_JUST_UPDATED'];
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
9
54
|
try {
|
|
10
55
|
const latestVersion = await fetchLatestVersion();
|
|
11
56
|
if (!latestVersion) {
|
|
@@ -30,7 +75,15 @@ export async function maybeOfferCliUpdate(currentVersion) {
|
|
|
30
75
|
}
|
|
31
76
|
const success = await installLatestVersion();
|
|
32
77
|
if (success) {
|
|
33
|
-
display.showInfo(
|
|
78
|
+
display.showInfo(`✅ Update to ${PACKAGE_NAME}@${latestVersion} complete!`);
|
|
79
|
+
// Ask if user wants auto-relaunch
|
|
80
|
+
const shouldRelaunch = await promptForRelaunch();
|
|
81
|
+
if (shouldRelaunch) {
|
|
82
|
+
relaunchCLI();
|
|
83
|
+
// Return false to signal we're exiting (relaunch handles the rest)
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
display.showInfo(`Restart the CLI to use the new version.`);
|
|
34
87
|
return false;
|
|
35
88
|
}
|
|
36
89
|
display.showWarning(`Failed to install ${PACKAGE_NAME}@latest. Please run "npm install -g ${PACKAGE_NAME}@latest" manually.`);
|
|
@@ -96,6 +149,17 @@ async function promptForUpdate() {
|
|
|
96
149
|
prompt.close();
|
|
97
150
|
}
|
|
98
151
|
}
|
|
152
|
+
async function promptForRelaunch() {
|
|
153
|
+
const prompt = createInterface({ input, output });
|
|
154
|
+
try {
|
|
155
|
+
const answer = await prompt.question('Relaunch now? (Y/n): ');
|
|
156
|
+
const normalized = answer.trim().toLowerCase();
|
|
157
|
+
return normalized === '' || normalized === 'y' || normalized === 'yes';
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
prompt.close();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
99
163
|
async function installLatestVersion() {
|
|
100
164
|
const binary = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
101
165
|
return new Promise((resolve) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateManager.js","sourceRoot":"","sources":["../../src/shell/updateManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"updateManager.js","sourceRoot":"","sources":["../../src/shell/updateManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erosolar-cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.31",
|
|
4
4
|
"description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
|
|
5
5
|
"main": "dist/bin/erosolar-optimized.js",
|
|
6
6
|
"type": "module",
|