aru-code 0.13.0__tar.gz → 0.13.1__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.
- {aru_code-0.13.0/aru_code.egg-info → aru_code-0.13.1}/PKG-INFO +1 -1
- aru_code-0.13.1/aru/__init__.py +1 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/config.py +3 -8
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/codebase.py +14 -8
- {aru_code-0.13.0 → aru_code-0.13.1/aru_code.egg-info}/PKG-INFO +1 -1
- {aru_code-0.13.0 → aru_code-0.13.1}/pyproject.toml +1 -1
- aru_code-0.13.0/aru/__init__.py +0 -1
- {aru_code-0.13.0 → aru_code-0.13.1}/LICENSE +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/README.md +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/agent_factory.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/agents/__init__.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/agents/base.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/agents/executor.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/agents/planner.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/cli.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/commands.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/completers.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/context.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/display.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/permissions.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/providers.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/runner.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/runtime.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/session.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/__init__.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/ast_tools.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/gitignore.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/mcp_client.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/ranker.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru/tools/tasklist.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru_code.egg-info/SOURCES.txt +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru_code.egg-info/dependency_links.txt +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru_code.egg-info/entry_points.txt +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru_code.egg-info/requires.txt +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/aru_code.egg-info/top_level.txt +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/setup.cfg +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_agents_base.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_ast_tools.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_advanced.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_base.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_completers.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_new.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_run_cli.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_session.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_cli_shell.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_codebase.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_config.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_context.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_executor.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_gitignore.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_main.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_mcp_client.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_permissions.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_planner.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_providers.py +0 -0
- {aru_code-0.13.0 → aru_code-0.13.1}/tests/test_ranker.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.13.1"
|
|
@@ -197,14 +197,9 @@ class AgentConfig:
|
|
|
197
197
|
lines.append(f"- `/{name}{hint}`: {skill.description}")
|
|
198
198
|
parts.append("\n".join(lines))
|
|
199
199
|
|
|
200
|
-
#
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
catalog_text = get_ctx().mcp_catalog_text
|
|
204
|
-
if catalog_text and not lightweight:
|
|
205
|
-
parts.append(catalog_text)
|
|
206
|
-
except LookupError:
|
|
207
|
-
pass
|
|
200
|
+
# MCP tool catalog is NOT included in the system prompt to save ~1-1.5K
|
|
201
|
+
# tokens per turn. The model discovers available tools on-demand when it
|
|
202
|
+
# calls use_mcp_tool — the gateway returns the catalog on first use.
|
|
208
203
|
|
|
209
204
|
return "\n\n".join(parts)
|
|
210
205
|
|
|
@@ -1256,26 +1256,32 @@ def _build_mcp_gateway(manager):
|
|
|
1256
1256
|
from agno.tools import Function
|
|
1257
1257
|
|
|
1258
1258
|
async def use_mcp_tool(tool_name: str, arguments: dict | None = None) -> str:
|
|
1259
|
-
"""Call an external MCP tool by name.
|
|
1260
|
-
|
|
1261
|
-
Use this to invoke any tool from the MCP Tools catalog listed in your instructions.
|
|
1262
|
-
Pass the exact tool name and its arguments as a JSON object.
|
|
1259
|
+
"""Call an external MCP tool by name, or pass tool_name="list" to see all available tools.
|
|
1263
1260
|
|
|
1264
1261
|
Args:
|
|
1265
|
-
tool_name: The MCP tool name (e.g. "github__search_repositories").
|
|
1262
|
+
tool_name: The MCP tool name (e.g. "github__search_repositories"), or "list" to see the catalog.
|
|
1266
1263
|
arguments: The arguments to pass to the tool as key-value pairs.
|
|
1267
1264
|
"""
|
|
1268
|
-
|
|
1265
|
+
if tool_name == "list":
|
|
1266
|
+
return manager.get_catalog_text() or "No MCP tools available."
|
|
1267
|
+
result = await manager.call_tool(tool_name, arguments)
|
|
1268
|
+
# If the tool was not found, append the catalog so the model can self-correct
|
|
1269
|
+
if result.startswith("Error: Unknown MCP tool"):
|
|
1270
|
+
result += "\n\n" + (manager.get_catalog_text() or "")
|
|
1271
|
+
return result
|
|
1269
1272
|
|
|
1273
|
+
# Include server names in description so the model knows what's available
|
|
1274
|
+
servers = sorted(set(e.server_name for e in manager.catalog.values()))
|
|
1275
|
+
server_list = ", ".join(servers) if servers else "none"
|
|
1270
1276
|
return Function(
|
|
1271
1277
|
name="use_mcp_tool",
|
|
1272
|
-
description=
|
|
1278
|
+
description=f'Call an external MCP tool by name. Available servers: {server_list}. Pass tool_name="list" to discover all tools and their parameters.',
|
|
1273
1279
|
parameters={
|
|
1274
1280
|
"type": "object",
|
|
1275
1281
|
"properties": {
|
|
1276
1282
|
"tool_name": {
|
|
1277
1283
|
"type": "string",
|
|
1278
|
-
"description":
|
|
1284
|
+
"description": 'MCP tool name (e.g. "github__search_repositories") or "list" to see all available tools'
|
|
1279
1285
|
},
|
|
1280
1286
|
"arguments": {
|
|
1281
1287
|
"type": "object",
|
aru_code-0.13.0/aru/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.13.0"
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|