aru-code 0.13.1__tar.gz → 0.13.2__tar.gz

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.
Files changed (57) hide show
  1. {aru_code-0.13.1/aru_code.egg-info → aru_code-0.13.2}/PKG-INFO +1 -1
  2. aru_code-0.13.2/aru/__init__.py +1 -0
  3. {aru_code-0.13.1 → aru_code-0.13.2}/aru/cli.py +18 -7
  4. {aru_code-0.13.1 → aru_code-0.13.2}/aru/runtime.py +1 -0
  5. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/codebase.py +3 -3
  6. {aru_code-0.13.1 → aru_code-0.13.2/aru_code.egg-info}/PKG-INFO +1 -1
  7. {aru_code-0.13.1 → aru_code-0.13.2}/pyproject.toml +1 -1
  8. aru_code-0.13.1/aru/__init__.py +0 -1
  9. {aru_code-0.13.1 → aru_code-0.13.2}/LICENSE +0 -0
  10. {aru_code-0.13.1 → aru_code-0.13.2}/README.md +0 -0
  11. {aru_code-0.13.1 → aru_code-0.13.2}/aru/agent_factory.py +0 -0
  12. {aru_code-0.13.1 → aru_code-0.13.2}/aru/agents/__init__.py +0 -0
  13. {aru_code-0.13.1 → aru_code-0.13.2}/aru/agents/base.py +0 -0
  14. {aru_code-0.13.1 → aru_code-0.13.2}/aru/agents/executor.py +0 -0
  15. {aru_code-0.13.1 → aru_code-0.13.2}/aru/agents/planner.py +0 -0
  16. {aru_code-0.13.1 → aru_code-0.13.2}/aru/commands.py +0 -0
  17. {aru_code-0.13.1 → aru_code-0.13.2}/aru/completers.py +0 -0
  18. {aru_code-0.13.1 → aru_code-0.13.2}/aru/config.py +0 -0
  19. {aru_code-0.13.1 → aru_code-0.13.2}/aru/context.py +0 -0
  20. {aru_code-0.13.1 → aru_code-0.13.2}/aru/display.py +0 -0
  21. {aru_code-0.13.1 → aru_code-0.13.2}/aru/permissions.py +0 -0
  22. {aru_code-0.13.1 → aru_code-0.13.2}/aru/providers.py +0 -0
  23. {aru_code-0.13.1 → aru_code-0.13.2}/aru/runner.py +0 -0
  24. {aru_code-0.13.1 → aru_code-0.13.2}/aru/session.py +0 -0
  25. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/__init__.py +0 -0
  26. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/ast_tools.py +0 -0
  27. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/gitignore.py +0 -0
  28. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/mcp_client.py +0 -0
  29. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/ranker.py +0 -0
  30. {aru_code-0.13.1 → aru_code-0.13.2}/aru/tools/tasklist.py +0 -0
  31. {aru_code-0.13.1 → aru_code-0.13.2}/aru_code.egg-info/SOURCES.txt +0 -0
  32. {aru_code-0.13.1 → aru_code-0.13.2}/aru_code.egg-info/dependency_links.txt +0 -0
  33. {aru_code-0.13.1 → aru_code-0.13.2}/aru_code.egg-info/entry_points.txt +0 -0
  34. {aru_code-0.13.1 → aru_code-0.13.2}/aru_code.egg-info/requires.txt +0 -0
  35. {aru_code-0.13.1 → aru_code-0.13.2}/aru_code.egg-info/top_level.txt +0 -0
  36. {aru_code-0.13.1 → aru_code-0.13.2}/setup.cfg +0 -0
  37. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_agents_base.py +0 -0
  38. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_ast_tools.py +0 -0
  39. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli.py +0 -0
  40. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_advanced.py +0 -0
  41. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_base.py +0 -0
  42. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_completers.py +0 -0
  43. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_new.py +0 -0
  44. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_run_cli.py +0 -0
  45. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_session.py +0 -0
  46. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_cli_shell.py +0 -0
  47. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_codebase.py +0 -0
  48. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_config.py +0 -0
  49. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_context.py +0 -0
  50. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_executor.py +0 -0
  51. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_gitignore.py +0 -0
  52. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_main.py +0 -0
  53. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_mcp_client.py +0 -0
  54. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_permissions.py +0 -0
  55. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_planner.py +0 -0
  56. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_providers.py +0 -0
  57. {aru_code-0.13.1 → aru_code-0.13.2}/tests/test_ranker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aru-code
3
- Version: 0.13.1
3
+ Version: 0.13.2
4
4
  Summary: A Claude Code clone built with Agno agents
5
5
  Author-email: Estevao <estevaofon@gmail.com>
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ __version__ = "0.13.2"
@@ -214,18 +214,29 @@ async def run_cli(skip_permissions: bool = False, resume_id: str | None = None):
214
214
  _render_input_separator()
215
215
  model_tb = session.model_display
216
216
  from prompt_toolkit.formatted_text import HTML
217
+
218
+ def _bottom_toolbar():
219
+ mcp_part = ""
220
+ if ctx.mcp_loaded_msg:
221
+ mcp_part = (
222
+ f' <style fg="ansigray">│</style>'
223
+ f' <style fg="ansigray">{ctx.mcp_loaded_msg}</style>'
224
+ )
225
+ return HTML(
226
+ f' <style fg="ansigray">{model_tb}</style>'
227
+ f' <style fg="ansigray">│</style>'
228
+ f' <style fg="ansigray">/help</style>'
229
+ f' <style fg="ansigray">│</style>'
230
+ f' <style fg="ansigray">Esc+Enter newline</style>'
231
+ f'{mcp_part}'
232
+ )
233
+
217
234
  user_text = (
218
235
  await asyncio.to_thread(
219
236
  prompt_session.prompt,
220
237
  HTML('<b><ansigreen>❯</ansigreen></b> '),
221
238
  multiline=False,
222
- bottom_toolbar=HTML(
223
- f' <style fg="ansigray">{model_tb}</style>'
224
- f' <style fg="ansigray">│</style>'
225
- f' <style fg="ansigray">/help</style>'
226
- f' <style fg="ansigray">│</style>'
227
- f' <style fg="ansigray">Esc+Enter newline</style>'
228
- ),
239
+ bottom_toolbar=_bottom_toolbar,
229
240
  )
230
241
  ).strip()
231
242
  _render_input_separator()
@@ -117,6 +117,7 @@ class RuntimeContext:
117
117
 
118
118
  # -- MCP --
119
119
  mcp_catalog_text: str = ""
120
+ mcp_loaded_msg: str = ""
120
121
 
121
122
 
122
123
  # ── ContextVar plumbing ──────────────────────────────────────────────
@@ -1232,7 +1232,7 @@ async def load_mcp_tools(eager: bool = False):
1232
1232
  if eager:
1233
1233
  # Legacy: each MCP tool = one Agno Function (expensive)
1234
1234
  mcp_tools = manager.get_eager_tools()
1235
- get_ctx().console.print(f"[dim]Loaded {tool_count} tools from MCP servers (eager mode).[/dim]")
1235
+ get_ctx().mcp_loaded_msg = f"Loaded {tool_count} tools from MCP servers (eager mode)."
1236
1236
  for t in mcp_tools:
1237
1237
  ALL_TOOLS.append(t)
1238
1238
  EXECUTOR_TOOLS.append(t)
@@ -1245,10 +1245,10 @@ async def load_mcp_tools(eager: bool = False):
1245
1245
  GENERAL_TOOLS.append(gateway)
1246
1246
  # Store catalog text for injection into system prompt
1247
1247
  get_ctx().mcp_catalog_text = manager.get_catalog_text()
1248
- get_ctx().console.print(f"[dim]Loaded {tool_count} tools from MCP servers.[/dim]")
1248
+ get_ctx().mcp_loaded_msg = f"Loaded {tool_count} tools from MCP servers."
1249
1249
 
1250
1250
  except Exception as e:
1251
- get_ctx().console.print(f"[dim]Failed to load MCP tools: {e}[/dim]")
1251
+ get_ctx().mcp_loaded_msg = f"Failed to load MCP tools: {e}"
1252
1252
 
1253
1253
 
1254
1254
  def _build_mcp_gateway(manager):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aru-code
3
- Version: 0.13.1
3
+ Version: 0.13.2
4
4
  Summary: A Claude Code clone built with Agno agents
5
5
  Author-email: Estevao <estevaofon@gmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aru-code"
7
- version = "0.13.1"
7
+ version = "0.13.2"
8
8
  description = "A Claude Code clone built with Agno agents"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1 +0,0 @@
1
- __version__ = "0.13.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes