@tiens.nguyen/gonext-local-worker 1.0.128 → 1.0.129

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.
@@ -1506,7 +1506,7 @@ async function runAgentChatJob(job) {
1506
1506
  codingBaseURL: payload?.codingBaseURL ?? "",
1507
1507
  codingModelId: payload?.codingModelId ?? "",
1508
1508
  tools: payload?.tools ?? ["http_request"],
1509
- maxSteps: payload?.maxSteps ?? 8,
1509
+ maxSteps: payload?.maxSteps ?? 5,
1510
1510
  // Tool-invocation mode for the agent: "code" (default, python CodeAgent) or
1511
1511
  // "toolcall" (structured JSON tool calls). Passed through only; the API/web can
1512
1512
  // set payload.agentToolMode to A/B — default keeps current behavior.
@@ -11,7 +11,7 @@ Reads on stdin:
11
11
  "codingBaseURL": str, # optional: dedicated coding/reasoning model for the
12
12
  "codingModelId": str, # CodeAgent's tool-use loop; empty = reuse agentModelId
13
13
  "tools": ["http_request"], # v1: only http_request
14
- "maxSteps": int # multi-step ReAct budget; default 8
14
+ "maxSteps": int # multi-step ReAct budget; default 5
15
15
  }
16
16
 
17
17
  Emits NDJSON lines on stdout:
@@ -66,13 +66,18 @@ def _http_request_impl(method, url, headers=None, body=None, timeout=25):
66
66
  return f"Error: {e}"
67
67
 
68
68
 
69
- def _html_to_text(html_text, limit=4000):
69
+ def _html_to_text(html_text, limit=3000):
70
70
  """Strip HTML to readable plain text (zero-dep). Used by fetch_url so the weak
71
71
  model receives prose instead of raw tags it cannot parse."""
72
72
  import html as _html
73
73
  text = html_text or ""
74
74
  # Drop script/style/head/svg noise wholesale (incl. their content).
75
75
  text = re.sub(r"(?is)<(script|style|head|noscript|svg|template)\b.*?</\1>", " ", text)
76
+ # Drop page chrome wholesale too — nav menus, headers, footers, sidebars, forms.
77
+ # Without this, a Wikipedia fetch spends ~1KB of the budget on "Jump to content /
78
+ # Main menu / Donate / Create account…" before any article text, which both starves
79
+ # the model of real content and bloats the per-step context (OOM risk on local MLX).
80
+ text = re.sub(r"(?is)<(nav|header|footer|aside|form|button|menu)\b.*?</\1>", " ", text)
76
81
  # Turn block-ending tags into newlines so document structure survives stripping.
77
82
  text = re.sub(r"(?i)<(br|/p|/div|/li|/tr|/h[1-6]|/section|/article)\s*>", "\n", text)
78
83
  # Remove all remaining tags.
@@ -969,7 +974,7 @@ def run_agent_chat(cfg):
969
974
  # overridable via cfg.maxSteps. The provide_final_answer override below is now only
970
975
  # the exhaustion fallback (loop ends without final_answer).
971
976
  try:
972
- max_steps = int(cfg.get("maxSteps") or 8)
977
+ max_steps = int(cfg.get("maxSteps") or 5)
973
978
  except (TypeError, ValueError):
974
979
  max_steps = 8
975
980
  if max_steps < 1:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiens.nguyen/gonext-local-worker",
3
- "version": "1.0.128",
3
+ "version": "1.0.129",
4
4
  "description": "Polls GoNext cloud API for async local LLM jobs and runs them against Ollama/OpenAI-compatible servers on this Mac",
5
5
  "type": "module",
6
6
  "license": "MIT",