agentram 0.1.34 → 0.1.37

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/agentram/cli.py CHANGED
@@ -751,10 +751,11 @@ def run_textual_tui(context: McpContext) -> bool:
751
751
  def on_input_changed(self, event: Input.Changed) -> None:
752
752
  if event.input.id != "input":
753
753
  return
754
- value = event.value.strip()
755
- if value.startswith("/"):
754
+ value = event.value
755
+ if value.startswith("/") and " " not in value:
756
756
  self.show_palette(value)
757
- else:
757
+ elif self.suggestions:
758
+ self.suggestions = []
758
759
  self.hide_palette()
759
760
 
760
761
  def action_accept_suggestion(self) -> None:
@@ -1344,10 +1345,8 @@ def supervisor_workflow_text(context: McpContext, prompt: str) -> str:
1344
1345
  ]
1345
1346
  )
1346
1347
 
1347
- def main_loop_limits() -> tuple[int, int]:
1348
- max_steps = max(1, min(10, int(os.getenv("AGENTRAM_MAIN_MAX_STEPS", "3"))))
1349
- max_retries = max(0, min(5, int(os.getenv("AGENTRAM_MAIN_MAX_RETRIES", "1"))))
1350
- return max_steps, max_retries
1348
+ def main_loop_retry_limit() -> int:
1349
+ return max(0, min(5, int(os.getenv("AGENTRAM_MAIN_MAX_RETRIES", "1"))))
1351
1350
 
1352
1351
  def run_main_agent_loop(
1353
1352
  context: McpContext,
@@ -1363,14 +1362,16 @@ def run_main_agent_loop(
1363
1362
  outputs["small"] = small_agent_observe(context, small_agent, prompt, "main_result", outputs["main"], plan, memory_context)
1364
1363
  return {"outputs": outputs, "steps": 0, "status": "no_main", "retries": 0}
1365
1364
 
1366
- max_steps, max_retries = main_loop_limits()
1365
+ max_retries = main_loop_retry_limit()
1367
1366
  retries = 0
1368
- status = "max_steps"
1367
+ status = "running"
1368
+ step = 0
1369
1369
  previous_main_outputs: list[str] = []
1370
1370
  small_notes: list[str] = []
1371
1371
 
1372
- for step in range(1, max_steps + 1):
1373
- step_prompt = build_main_loop_prompt(prompt, plan, memory_context, previous_main_outputs, small_notes, step, max_steps)
1372
+ while True:
1373
+ step += 1
1374
+ step_prompt = build_main_loop_prompt(prompt, plan, memory_context, previous_main_outputs, small_notes, step)
1374
1375
  try:
1375
1376
  main_output = call_agent_endpoint(main_agent, step_prompt)
1376
1377
  except Exception as error: # noqa: BLE001 - agent boundary
@@ -1407,13 +1408,13 @@ def build_main_loop_prompt(
1407
1408
  previous_main_outputs: list[str],
1408
1409
  small_notes: list[str],
1409
1410
  step: int,
1410
- max_steps: int,
1411
1411
  ) -> str:
1412
1412
  history = "\n\n".join([*previous_main_outputs[-3:], *small_notes[-3:]]) or "-"
1413
1413
  return "\n".join(
1414
1414
  [
1415
- f"AgentRAM main loop step {step}/{max_steps}.",
1416
- "Continue only if needed. Stop when done or blocked.",
1415
+ f"AgentRAM main loop step {step}.",
1416
+ "No hard step limit. Continue until user goal is complete or blocked.",
1417
+ "Do not stop early if unfinished work remains. Do not invent completion.",
1417
1418
  "If complete, include DONE. If blocked, include BLOCKER and reason.",
1418
1419
  "User request:",
1419
1420
  prompt,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentram",
3
- "version": "0.1.34",
3
+ "version": "0.1.37",
4
4
  "description": "Async, model-agnostic Working RAM for coding agents.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/trancongnghia/AGENT_RAM#readme",
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agentram"
7
- version = "0.1.34"
7
+ version = "0.1.37"
8
8
  description = "Async, model-agnostic RAM layer for agentic coding tools."
9
9
  readme = "README.md"
10
10
  license = "MIT"