@poolzin/pool-bot 2026.2.9 → 2026.2.10
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/CHANGELOG.md +7 -0
- package/dist/agents/bash-tools.exec.js +7 -2
- package/dist/build-info.json +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## v2026.2.10 (2026-02-16)
|
|
2
|
+
|
|
3
|
+
### Fixes
|
|
4
|
+
- Reduce default exec tool timeout from 1800s (30 min) to 120s (2 min) — prevents bot from silently hanging on stuck bash commands; per-call timeout param and config `tools.exec.timeoutSec` still override; new env vars `POOLBOT_EXEC_TIMEOUT_SEC` / `CLAWDBOT_EXEC_TIMEOUT_SEC` for further control
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
## v2026.2.9 (2026-02-15)
|
|
2
9
|
|
|
3
10
|
### Improvements
|
|
@@ -58,6 +58,11 @@ function validateHostEnv(env) {
|
|
|
58
58
|
const DEFAULT_MAX_OUTPUT = clampNumber(readEnvInt("PI_BASH_MAX_OUTPUT_CHARS"), 200_000, 1_000, 200_000);
|
|
59
59
|
const DEFAULT_PENDING_MAX_OUTPUT = clampNumber(readEnvInt("POOLBOT_BASH_PENDING_MAX_OUTPUT_CHARS") ??
|
|
60
60
|
readEnvInt("CLAWDBOT_BASH_PENDING_MAX_OUTPUT_CHARS"), 200_000, 1_000, 200_000);
|
|
61
|
+
// Default exec timeout: 120s is generous for typical commands (grep, cat, ls, build).
|
|
62
|
+
// The AI can still pass a per-call `timeout` for intentionally long operations,
|
|
63
|
+
// and users can override via config (`tools.exec.timeoutSec`) or env var.
|
|
64
|
+
// Previous default (1800s / 30 min) caused the bot to hang silently on stuck commands.
|
|
65
|
+
const DEFAULT_EXEC_TIMEOUT_SEC = clampNumber(readEnvInt("POOLBOT_EXEC_TIMEOUT_SEC") ?? readEnvInt("CLAWDBOT_EXEC_TIMEOUT_SEC"), 120, 1, 86_400);
|
|
61
66
|
const DEFAULT_PATH = process.env.PATH ?? "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
|
|
62
67
|
const DEFAULT_NOTIFY_TAIL_CHARS = 400;
|
|
63
68
|
const DEFAULT_APPROVAL_TIMEOUT_MS = 120_000;
|
|
@@ -73,7 +78,7 @@ const execSchema = Type.Object({
|
|
|
73
78
|
})),
|
|
74
79
|
background: Type.Optional(Type.Boolean({ description: "Run in background immediately" })),
|
|
75
80
|
timeout: Type.Optional(Type.Number({
|
|
76
|
-
description: "Timeout in seconds (
|
|
81
|
+
description: "Timeout in seconds (default 120, kills process on expiry). Set higher for long builds/downloads.",
|
|
77
82
|
})),
|
|
78
83
|
pty: Type.Optional(Type.Boolean({
|
|
79
84
|
description: "Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)",
|
|
@@ -559,7 +564,7 @@ export function createExecTool(defaults) {
|
|
|
559
564
|
const allowBackground = defaults?.allowBackground ?? true;
|
|
560
565
|
const defaultTimeoutSec = typeof defaults?.timeoutSec === "number" && defaults.timeoutSec > 0
|
|
561
566
|
? defaults.timeoutSec
|
|
562
|
-
:
|
|
567
|
+
: DEFAULT_EXEC_TIMEOUT_SEC;
|
|
563
568
|
const defaultPathPrepend = normalizePathPrepend(defaults?.pathPrepend);
|
|
564
569
|
const safeBins = resolveSafeBins(defaults?.safeBins);
|
|
565
570
|
const notifyOnExit = defaults?.notifyOnExit !== false;
|
package/dist/build-info.json
CHANGED