open-agents-ai 0.187.243 → 0.187.244
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/index.js +11 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1527,7 +1527,7 @@ var init_shell = __esm({
|
|
|
1527
1527
|
PERMISSION_ERROR_RE = /Permission denied|Operation not permitted|EACCES|EPERM|PermissionError|sudo:|not permitted|password is required|authentication failure/i;
|
|
1528
1528
|
ShellTool = class {
|
|
1529
1529
|
name = "shell";
|
|
1530
|
-
description = "Execute a shell command in the project working directory. Commands run non-interactively (CI=true). For commands that need input, use the stdin parameter or pass non-interactive flags (--yes, --no-input).";
|
|
1530
|
+
description = "Execute a shell command in the project working directory. Commands run non-interactively (CI=true). For commands that need input, use the stdin parameter or pass non-interactive flags (--yes, --no-input). Long-running commands (piped scripts from URLs, servers, blocking calls) auto-extend to 5 minutes. Set timeout explicitly for longer operations.";
|
|
1531
1531
|
parameters = {
|
|
1532
1532
|
type: "object",
|
|
1533
1533
|
properties: {
|
|
@@ -1537,7 +1537,7 @@ var init_shell = __esm({
|
|
|
1537
1537
|
},
|
|
1538
1538
|
timeout: {
|
|
1539
1539
|
type: "number",
|
|
1540
|
-
description: "Timeout in milliseconds
|
|
1540
|
+
description: "Timeout in milliseconds. Default: 30000 (30s). Auto-extends to 300000 (5min) for piped scripts (curl|bash) and blocking commands. Set higher for very long operations (e.g. 600000 for 10 min)."
|
|
1541
1541
|
},
|
|
1542
1542
|
stdin: {
|
|
1543
1543
|
type: "string",
|
|
@@ -1579,8 +1579,16 @@ var init_shell = __esm({
|
|
|
1579
1579
|
async execute(args) {
|
|
1580
1580
|
const start2 = performance.now();
|
|
1581
1581
|
const command = args["command"];
|
|
1582
|
-
const timeout2 = args["timeout"] ?? this.defaultTimeout;
|
|
1583
1582
|
const stdinInput = args["stdin"];
|
|
1583
|
+
let timeout2 = args["timeout"];
|
|
1584
|
+
if (timeout2 == null) {
|
|
1585
|
+
const isLongRunning = /curl\s.*\|\s*(bash|sh|zsh)\b/.test(command) || // piped remote script
|
|
1586
|
+
/wget\s.*\|\s*(bash|sh|zsh)\b/.test(command) || // piped remote script
|
|
1587
|
+
/\bcall\.sh\b/.test(command) || // known long-running scripts
|
|
1588
|
+
/\bserve\b|\bwatch\b|\blisten\b/.test(command) || // servers/watchers
|
|
1589
|
+
/--wait\b|--follow\b|-f\b/.test(command);
|
|
1590
|
+
timeout2 = isLongRunning ? 3e5 : this.defaultTimeout;
|
|
1591
|
+
}
|
|
1584
1592
|
const result = await this.runCommand(command, timeout2, stdinInput);
|
|
1585
1593
|
if (!result.success && this.isPermissionError(result)) {
|
|
1586
1594
|
const method = detectElevationMethod();
|
package/package.json
CHANGED