erosolar-cli 2.1.180 → 2.1.181
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repoChecksTools.d.ts","sourceRoot":"","sources":["../../src/tools/repoChecksTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repoChecksTools.d.ts","sourceRoot":"","sources":["../../src/tools/repoChecksTools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkB7D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CA8DzE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { promisify } from 'node:util';
|
|
5
5
|
import { buildSandboxEnv } from './bashTools.js';
|
|
6
|
+
const execAsync = promisify(exec);
|
|
6
7
|
const DEFAULT_SCRIPT_ORDER = ['test', 'build', 'lint'];
|
|
7
8
|
const MAX_STREAM_CHARS = 1200;
|
|
8
9
|
export function createRepoCheckTools(workingDir) {
|
|
@@ -95,98 +96,35 @@ function normalizeScriptList(raw) {
|
|
|
95
96
|
}
|
|
96
97
|
return [];
|
|
97
98
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Run a script with streaming output via reportToolProgress.
|
|
100
|
-
* This allows the UI to display live output as the command runs.
|
|
101
|
-
*/
|
|
102
99
|
async function runScript(script, command, workingDir, env) {
|
|
103
100
|
const startedAt = Date.now();
|
|
104
|
-
|
|
105
|
-
const stdout =
|
|
106
|
-
const stderr = [];
|
|
107
|
-
let lineCount = 0;
|
|
108
|
-
let killed = false;
|
|
109
|
-
const child = spawn('bash', ['-c', command], {
|
|
101
|
+
try {
|
|
102
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
110
103
|
cwd: workingDir,
|
|
111
104
|
env,
|
|
112
|
-
|
|
105
|
+
timeout: 10 * 60 * 1000, // 10 minutes to cover installs/builds
|
|
106
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB
|
|
113
107
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
lineCount++;
|
|
122
|
-
// Report progress with the latest line for live UI updates
|
|
123
|
-
const trimmedLine = line.slice(0, 80);
|
|
124
|
-
reportToolProgress({
|
|
125
|
-
current: lineCount,
|
|
126
|
-
message: isStderr ? `stderr: ${trimmedLine}` : trimmedLine,
|
|
127
|
-
});
|
|
108
|
+
return {
|
|
109
|
+
script,
|
|
110
|
+
command,
|
|
111
|
+
success: true,
|
|
112
|
+
stdout,
|
|
113
|
+
stderr,
|
|
114
|
+
elapsedMs: Date.now() - startedAt,
|
|
128
115
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
// Process stderr
|
|
144
|
-
let stderrBuffer = '';
|
|
145
|
-
child.stderr?.on('data', (data) => {
|
|
146
|
-
const text = data.toString();
|
|
147
|
-
stderr.push(text);
|
|
148
|
-
stderrBuffer += text;
|
|
149
|
-
const lines = stderrBuffer.split('\n');
|
|
150
|
-
stderrBuffer = lines.pop() ?? '';
|
|
151
|
-
for (const line of lines) {
|
|
152
|
-
if (line.trim()) {
|
|
153
|
-
processLine(line, true);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
child.on('close', (code) => {
|
|
158
|
-
clearTimeout(timeout);
|
|
159
|
-
// Process any remaining buffered content
|
|
160
|
-
if (stdoutBuffer.trim()) {
|
|
161
|
-
processLine(stdoutBuffer, false);
|
|
162
|
-
}
|
|
163
|
-
if (stderrBuffer.trim()) {
|
|
164
|
-
processLine(stderrBuffer, true);
|
|
165
|
-
}
|
|
166
|
-
const success = code === 0 && !killed;
|
|
167
|
-
resolve({
|
|
168
|
-
script,
|
|
169
|
-
command,
|
|
170
|
-
success,
|
|
171
|
-
stdout: stdout.join(''),
|
|
172
|
-
stderr: stderr.join(''),
|
|
173
|
-
elapsedMs: Date.now() - startedAt,
|
|
174
|
-
errorMessage: killed ? 'Command timed out' : (success ? undefined : `Exit code: ${code}`),
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
child.on('error', (error) => {
|
|
178
|
-
clearTimeout(timeout);
|
|
179
|
-
resolve({
|
|
180
|
-
script,
|
|
181
|
-
command,
|
|
182
|
-
success: false,
|
|
183
|
-
stdout: stdout.join(''),
|
|
184
|
-
stderr: stderr.join(''),
|
|
185
|
-
elapsedMs: Date.now() - startedAt,
|
|
186
|
-
errorMessage: error.message,
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
});
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
return {
|
|
119
|
+
script,
|
|
120
|
+
command,
|
|
121
|
+
success: false,
|
|
122
|
+
stdout: error?.stdout ?? '',
|
|
123
|
+
stderr: error?.stderr ?? '',
|
|
124
|
+
elapsedMs: Date.now() - startedAt,
|
|
125
|
+
errorMessage: error?.message ?? 'Command failed',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
190
128
|
}
|
|
191
129
|
function formatResults(results) {
|
|
192
130
|
if (!results.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repoChecksTools.js","sourceRoot":"","sources":["../../src/tools/repoChecksTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"repoChecksTools.js","sourceRoot":"","sources":["../../src/tools/repoChecksTools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erosolar-cli",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.181",
|
|
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.js",
|
|
6
6
|
"type": "module",
|