evil-omo 3.12.3 → 3.12.4
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/cli/index.js +12 -12
- package/dist/features/background-agent/constants.d.ts +2 -2
- package/dist/index.js +23 -18
- package/package.json +12 -12
package/dist/cli/index.js
CHANGED
|
@@ -8967,7 +8967,7 @@ var {
|
|
|
8967
8967
|
// package.json
|
|
8968
8968
|
var package_default = {
|
|
8969
8969
|
name: "evil-omo",
|
|
8970
|
-
version: "3.12.
|
|
8970
|
+
version: "3.12.4",
|
|
8971
8971
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
8972
8972
|
main: "dist/index.js",
|
|
8973
8973
|
types: "dist/index.d.ts",
|
|
@@ -9043,17 +9043,17 @@ var package_default = {
|
|
|
9043
9043
|
typescript: "^5.7.3"
|
|
9044
9044
|
},
|
|
9045
9045
|
optionalDependencies: {
|
|
9046
|
-
"evil-omo-darwin-arm64": "3.12.
|
|
9047
|
-
"evil-omo-darwin-x64": "3.12.
|
|
9048
|
-
"evil-omo-darwin-x64-baseline": "3.12.
|
|
9049
|
-
"evil-omo-linux-x64": "3.12.
|
|
9050
|
-
"evil-omo-linux-x64-baseline": "3.12.
|
|
9051
|
-
"evil-omo-linux-arm64": "3.12.
|
|
9052
|
-
"evil-omo-linux-x64-musl": "3.12.
|
|
9053
|
-
"evil-omo-linux-x64-musl-baseline": "3.12.
|
|
9054
|
-
"evil-omo-linux-arm64-musl": "3.12.
|
|
9055
|
-
"evil-omo-windows-x64": "3.12.
|
|
9056
|
-
"evil-omo-windows-x64-baseline": "3.12.
|
|
9046
|
+
"evil-omo-darwin-arm64": "3.12.4",
|
|
9047
|
+
"evil-omo-darwin-x64": "3.12.4",
|
|
9048
|
+
"evil-omo-darwin-x64-baseline": "3.12.4",
|
|
9049
|
+
"evil-omo-linux-x64": "3.12.4",
|
|
9050
|
+
"evil-omo-linux-x64-baseline": "3.12.4",
|
|
9051
|
+
"evil-omo-linux-arm64": "3.12.4",
|
|
9052
|
+
"evil-omo-linux-x64-musl": "3.12.4",
|
|
9053
|
+
"evil-omo-linux-x64-musl-baseline": "3.12.4",
|
|
9054
|
+
"evil-omo-linux-arm64-musl": "3.12.4",
|
|
9055
|
+
"evil-omo-windows-x64": "3.12.4",
|
|
9056
|
+
"evil-omo-windows-x64-baseline": "3.12.4"
|
|
9057
9057
|
},
|
|
9058
9058
|
overrides: {
|
|
9059
9059
|
"@opencode-ai/sdk": "^1.2.24"
|
|
@@ -5,9 +5,9 @@ export declare const TERMINAL_TASK_TTL_MS: number;
|
|
|
5
5
|
export declare const MIN_STABILITY_TIME_MS: number;
|
|
6
6
|
export declare const DEFAULT_STALE_TIMEOUT_MS = 1200000;
|
|
7
7
|
export declare const DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 1800000;
|
|
8
|
-
export declare const DEFAULT_MAX_TOOL_CALLS =
|
|
8
|
+
export declare const DEFAULT_MAX_TOOL_CALLS = 4000;
|
|
9
9
|
export declare const DEFAULT_CIRCUIT_BREAKER_CONSECUTIVE_THRESHOLD = 20;
|
|
10
|
-
export declare const DEFAULT_CIRCUIT_BREAKER_ENABLED =
|
|
10
|
+
export declare const DEFAULT_CIRCUIT_BREAKER_ENABLED = false;
|
|
11
11
|
export declare const MIN_RUNTIME_BEFORE_STALE_MS = 30000;
|
|
12
12
|
export declare const MIN_IDLE_TIME_MS = 5000;
|
|
13
13
|
export declare const POLLING_INTERVAL_MS = 3000;
|
package/dist/index.js
CHANGED
|
@@ -78148,9 +78148,9 @@ var TERMINAL_TASK_TTL_MS = 30 * 60 * 1000;
|
|
|
78148
78148
|
var MIN_STABILITY_TIME_MS2 = 10 * 1000;
|
|
78149
78149
|
var DEFAULT_STALE_TIMEOUT_MS = 1200000;
|
|
78150
78150
|
var DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 1800000;
|
|
78151
|
-
var DEFAULT_MAX_TOOL_CALLS =
|
|
78151
|
+
var DEFAULT_MAX_TOOL_CALLS = 4000;
|
|
78152
78152
|
var DEFAULT_CIRCUIT_BREAKER_CONSECUTIVE_THRESHOLD = 20;
|
|
78153
|
-
var DEFAULT_CIRCUIT_BREAKER_ENABLED =
|
|
78153
|
+
var DEFAULT_CIRCUIT_BREAKER_ENABLED = false;
|
|
78154
78154
|
var MIN_RUNTIME_BEFORE_STALE_MS = 30000;
|
|
78155
78155
|
var MIN_IDLE_TIME_MS = 5000;
|
|
78156
78156
|
var POLLING_INTERVAL_MS = 3000;
|
|
@@ -78617,13 +78617,15 @@ function pruneStaleTasksAndNotifications(args) {
|
|
|
78617
78617
|
tasks.delete(taskId);
|
|
78618
78618
|
continue;
|
|
78619
78619
|
}
|
|
78620
|
+
if (task.status === "running")
|
|
78621
|
+
continue;
|
|
78620
78622
|
const timestamp2 = task.status === "pending" ? task.queuedAt?.getTime() : task.startedAt?.getTime();
|
|
78621
78623
|
if (!timestamp2)
|
|
78622
78624
|
continue;
|
|
78623
78625
|
const age = now - timestamp2;
|
|
78624
78626
|
if (age <= TASK_TTL_MS)
|
|
78625
78627
|
continue;
|
|
78626
|
-
const errorMessage =
|
|
78628
|
+
const errorMessage = "Task timed out while queued (30 minutes)";
|
|
78627
78629
|
onTaskPruned(taskId, task, errorMessage);
|
|
78628
78630
|
}
|
|
78629
78631
|
for (const [sessionID, queued] of notifications.entries()) {
|
|
@@ -79493,22 +79495,22 @@ class BackgroundManager {
|
|
|
79493
79495
|
});
|
|
79494
79496
|
return;
|
|
79495
79497
|
}
|
|
79498
|
+
const maxToolCalls = circuitBreaker.maxToolCalls;
|
|
79499
|
+
if (task.progress.toolCalls >= maxToolCalls) {
|
|
79500
|
+
log("[background-agent] Circuit breaker: tool call limit reached", {
|
|
79501
|
+
taskId: task.id,
|
|
79502
|
+
toolCalls: task.progress.toolCalls,
|
|
79503
|
+
maxToolCalls,
|
|
79504
|
+
agent: task.agent,
|
|
79505
|
+
sessionID
|
|
79506
|
+
});
|
|
79507
|
+
this.cancelTask(task.id, {
|
|
79508
|
+
source: "circuit-breaker",
|
|
79509
|
+
reason: `Subagent exceeded maximum tool call limit (${maxToolCalls}). This usually indicates an infinite loop. The task was automatically cancelled to prevent excessive token usage.`
|
|
79510
|
+
});
|
|
79511
|
+
}
|
|
79496
79512
|
}
|
|
79497
79513
|
}
|
|
79498
|
-
const maxToolCalls = circuitBreaker.maxToolCalls;
|
|
79499
|
-
if (task.progress.toolCalls >= maxToolCalls) {
|
|
79500
|
-
log("[background-agent] Circuit breaker: tool call limit reached", {
|
|
79501
|
-
taskId: task.id,
|
|
79502
|
-
toolCalls: task.progress.toolCalls,
|
|
79503
|
-
maxToolCalls,
|
|
79504
|
-
agent: task.agent,
|
|
79505
|
-
sessionID
|
|
79506
|
-
});
|
|
79507
|
-
this.cancelTask(task.id, {
|
|
79508
|
-
source: "circuit-breaker",
|
|
79509
|
-
reason: `Subagent exceeded maximum tool call limit (${maxToolCalls}). This usually indicates an infinite loop. The task was automatically cancelled to prevent excessive token usage.`
|
|
79510
|
-
});
|
|
79511
|
-
}
|
|
79512
79514
|
}
|
|
79513
79515
|
}
|
|
79514
79516
|
if (event.type === "session.idle") {
|
|
@@ -80123,7 +80125,10 @@ Use \`background_output(task_id="${task.id}")\` to retrieve this result when rea
|
|
|
80123
80125
|
this.pruneStaleTasksAndNotifications();
|
|
80124
80126
|
const statusResult = await this.client.session.status();
|
|
80125
80127
|
const allStatuses = normalizeSDKResponse(statusResult, {});
|
|
80126
|
-
|
|
80128
|
+
const circuitBreakerForPolling = this.cachedCircuitBreakerSettings ?? resolveCircuitBreakerSettings(this.config);
|
|
80129
|
+
if (circuitBreakerForPolling.enabled) {
|
|
80130
|
+
await this.checkAndInterruptStaleTasks(allStatuses);
|
|
80131
|
+
}
|
|
80127
80132
|
for (const task of this.tasks.values()) {
|
|
80128
80133
|
if (task.status !== "running")
|
|
80129
80134
|
continue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evil-omo",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.4",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -76,17 +76,17 @@
|
|
|
76
76
|
"typescript": "^5.7.3"
|
|
77
77
|
},
|
|
78
78
|
"optionalDependencies": {
|
|
79
|
-
"evil-omo-darwin-arm64": "3.12.
|
|
80
|
-
"evil-omo-darwin-x64": "3.12.
|
|
81
|
-
"evil-omo-darwin-x64-baseline": "3.12.
|
|
82
|
-
"evil-omo-linux-x64": "3.12.
|
|
83
|
-
"evil-omo-linux-x64-baseline": "3.12.
|
|
84
|
-
"evil-omo-linux-arm64": "3.12.
|
|
85
|
-
"evil-omo-linux-x64-musl": "3.12.
|
|
86
|
-
"evil-omo-linux-x64-musl-baseline": "3.12.
|
|
87
|
-
"evil-omo-linux-arm64-musl": "3.12.
|
|
88
|
-
"evil-omo-windows-x64": "3.12.
|
|
89
|
-
"evil-omo-windows-x64-baseline": "3.12.
|
|
79
|
+
"evil-omo-darwin-arm64": "3.12.4",
|
|
80
|
+
"evil-omo-darwin-x64": "3.12.4",
|
|
81
|
+
"evil-omo-darwin-x64-baseline": "3.12.4",
|
|
82
|
+
"evil-omo-linux-x64": "3.12.4",
|
|
83
|
+
"evil-omo-linux-x64-baseline": "3.12.4",
|
|
84
|
+
"evil-omo-linux-arm64": "3.12.4",
|
|
85
|
+
"evil-omo-linux-x64-musl": "3.12.4",
|
|
86
|
+
"evil-omo-linux-x64-musl-baseline": "3.12.4",
|
|
87
|
+
"evil-omo-linux-arm64-musl": "3.12.4",
|
|
88
|
+
"evil-omo-windows-x64": "3.12.4",
|
|
89
|
+
"evil-omo-windows-x64-baseline": "3.12.4"
|
|
90
90
|
},
|
|
91
91
|
"overrides": {
|
|
92
92
|
"@opencode-ai/sdk": "^1.2.24"
|