open-agents-ai 0.187.513 → 0.187.514

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 CHANGED
@@ -532357,7 +532357,8 @@ Full content available via: repl_exec(code="data = retrieve('${handleId}')") or
532357
532357
  toolCounts.set(t2, (toolCounts.get(t2) ?? 0) + 1);
532358
532358
  const topToolNames = [...toolCounts.entries()].sort((a2, b) => b[1] - a2[1]).slice(0, 3).map(([n2]) => n2);
532359
532359
  const whatWorked = this._runLessons.slice(-3).map((l2) => l2.whatWorked).filter(Boolean);
532360
- const finalStatus = completed ? "complete" : this._runErrorCount > this._taskState.toolCallCount * 0.5 ? "abandoned" : "abandoned";
532360
+ const _wasStagnationExit = !!this._pendingStagnationEntry || /^\s*BLOCKED\b/i.test(summary || "");
532361
+ const finalStatus = completed ? _wasStagnationExit ? "stagnation_exit" : "complete" : "abandoned";
532361
532362
  const gist2 = memMod.buildGist({
532362
532363
  goal,
532363
532364
  durationMs: durationMs2,
@@ -601890,7 +601891,48 @@ ${incompleteList}${more}
601890
601891
  }
601891
601892
  } catch {
601892
601893
  }
601893
- return { success: true, output: args["summary"] || "Task completed." };
601894
+ const summary = args["summary"] || "Task completed.";
601895
+ const buildGuardSkip = process.env["OA_DISABLE_TASK_COMPLETE_BUILD_GUARD"] === "1" || /^\s*BLOCKED\b/i.test(summary);
601896
+ if (!buildGuardSkip) {
601897
+ try {
601898
+ const fs7 = await import("node:fs");
601899
+ const path8 = await import("node:path");
601900
+ const cwd4 = process.cwd();
601901
+ const pkgPath = path8.join(cwd4, "package.json");
601902
+ if (fs7.existsSync(pkgPath)) {
601903
+ const pkg = JSON.parse(fs7.readFileSync(pkgPath, "utf-8"));
601904
+ const scripts = pkg.scripts || {};
601905
+ const checkScript = scripts["typecheck"] ? "typecheck" : scripts["build"] ? "build" : null;
601906
+ if (checkScript) {
601907
+ const { execSync: execSync59 } = await import("node:child_process");
601908
+ try {
601909
+ execSync59(`npm run ${checkScript} --silent 2>&1`, {
601910
+ cwd: cwd4,
601911
+ stdio: "pipe",
601912
+ timeout: 12e4,
601913
+ encoding: "utf-8"
601914
+ });
601915
+ } catch (e2) {
601916
+ const out = ((e2?.stdout || "") + (e2?.stderr || "")).toString().slice(0, 2e3);
601917
+ return {
601918
+ success: false,
601919
+ output: "",
601920
+ error: `task_complete BLOCKED — \`npm run ${checkScript}\` is failing in ${cwd4}.
601921
+
601922
+ Error output (last 2KB):
601923
+ ${out || "<empty stdout/stderr — likely timeout or non-zero exit>"}
601924
+
601925
+ Fix the build errors before calling task_complete. If you genuinely cannot fix it (e.g. missing tool, env issue), call task_complete with a summary that STARTS with "BLOCKED: " and explains why.
601926
+
601927
+ Bypass for special cases: set env OA_DISABLE_TASK_COMPLETE_BUILD_GUARD=1 (not recommended).`
601928
+ };
601929
+ }
601930
+ }
601931
+ }
601932
+ } catch {
601933
+ }
601934
+ }
601935
+ return { success: true, output: summary };
601894
601936
  }
601895
601937
  };
601896
601938
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.513",
3
+ "version": "0.187.514",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-agents-ai",
9
- "version": "0.187.513",
9
+ "version": "0.187.514",
10
10
  "hasInstallScript": true,
11
11
  "license": "CC-BY-NC-4.0",
12
12
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.513",
3
+ "version": "0.187.514",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",