open-agents-ai 0.187.450 → 0.187.451

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
@@ -520835,7 +520835,39 @@ Integrate this guidance into your current approach. Continue working on the task
520835
520835
  if (this.aborted)
520836
520836
  break;
520837
520837
  toolCallCount++;
520838
- toolCallLog.push({ name: tc.name, argsKey: Object.keys(tc.arguments ?? {}).sort().join(",") });
520838
+ const bfArgsKey = Object.entries(tc.arguments ?? {}).sort(([a2], [b]) => a2.localeCompare(b)).map(([k, v]) => `${k}=${typeof v === "string" ? v.slice(0, 160) : JSON.stringify(v).slice(0, 160)}`).join(",");
520839
+ toolCallLog.push({ name: tc.name, argsKey: bfArgsKey });
520840
+ this._toolLastUsedTurn.set(tc.name, turn);
520841
+ if (this._contextTree) {
520842
+ this._contextTree.observeToolCall(tc.name, bfArgsKey, turn);
520843
+ const transition = this._contextTree.maybeTransition(turn);
520844
+ if (transition) {
520845
+ const phaseSlice = messages2.slice(this._phaseMessageStartIdx);
520846
+ if (phaseSlice.length > 0) {
520847
+ const fromNode = this._contextTree.getSnapshot().phases[transition.from];
520848
+ if (fromNode) {
520849
+ fromNode.messages = phaseSlice;
520850
+ }
520851
+ }
520852
+ this.emit({
520853
+ type: "status",
520854
+ content: `Phase: ${transition.from} → ${transition.to} (brute-force cycle)`,
520855
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
520856
+ });
520857
+ const summarizer = this.makePhaseSummarizer();
520858
+ const contracted = this._contextTree.contractInactive(turn, summarizer ? ((msgs) => summarizer(transition.from, msgs)) : void 0);
520859
+ if (contracted.length > 0) {
520860
+ this.emit({
520861
+ type: "status",
520862
+ content: `Phase contraction: ${contracted.join(", ")} → contracted (${summarizer ? "LLM-summarized" : "stub-summarized"}, anchors retained, brute-force)`,
520863
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
520864
+ });
520865
+ }
520866
+ this._phaseMessageStartIdx = messages2.length;
520867
+ this._taskState.phase = transition.to;
520868
+ this._taskState.phaseSince = turn;
520869
+ }
520870
+ }
520839
520871
  this.emit({ type: "tool_call", toolName: tc.name, toolArgs: tc.arguments, turn, timestamp: (/* @__PURE__ */ new Date()).toISOString() });
520840
520872
  const tool = this.tools.get(tc.name);
520841
520873
  let result;
@@ -585940,8 +585972,10 @@ RULES:
585940
585972
  }
585941
585973
  } catch {
585942
585974
  }
585975
+ const envMaxTurns = Number.parseInt(process.env["OA_MAX_TURNS"] ?? "", 10);
585976
+ const effectiveMaxTurns = Number.isFinite(envMaxTurns) && envMaxTurns > 0 ? envMaxTurns : 60;
585943
585977
  const runner = new AgenticRunner(backend, {
585944
- maxTurns: 60,
585978
+ maxTurns: effectiveMaxTurns,
585945
585979
  maxTokens: 16384,
585946
585980
  temperature: 0,
585947
585981
  requestTimeoutMs: config.timeoutMs,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.450",
3
+ "version": "0.187.451",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-agents-ai",
9
- "version": "0.187.450",
9
+ "version": "0.187.451",
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.450",
3
+ "version": "0.187.451",
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",