agentpool 2.2.3__py3-none-any.whl → 2.5.0__py3-none-any.whl
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.
- acp/__init__.py +0 -4
- acp/acp_requests.py +20 -77
- acp/agent/connection.py +8 -0
- acp/agent/implementations/debug_server/debug_server.py +6 -2
- acp/agent/protocol.py +6 -0
- acp/client/connection.py +38 -29
- acp/client/implementations/default_client.py +3 -2
- acp/client/implementations/headless_client.py +2 -2
- acp/connection.py +2 -2
- acp/notifications.py +18 -49
- acp/schema/__init__.py +2 -0
- acp/schema/agent_responses.py +21 -0
- acp/schema/client_requests.py +3 -3
- acp/schema/session_state.py +63 -29
- acp/task/supervisor.py +2 -2
- acp/utils.py +2 -2
- agentpool/__init__.py +2 -0
- agentpool/agents/acp_agent/acp_agent.py +278 -263
- agentpool/agents/acp_agent/acp_converters.py +150 -17
- agentpool/agents/acp_agent/client_handler.py +35 -24
- agentpool/agents/acp_agent/session_state.py +14 -6
- agentpool/agents/agent.py +471 -643
- agentpool/agents/agui_agent/agui_agent.py +104 -107
- agentpool/agents/agui_agent/helpers.py +3 -4
- agentpool/agents/base_agent.py +485 -32
- agentpool/agents/claude_code_agent/FORKING.md +191 -0
- agentpool/agents/claude_code_agent/__init__.py +13 -1
- agentpool/agents/claude_code_agent/claude_code_agent.py +654 -334
- agentpool/agents/claude_code_agent/converters.py +4 -141
- agentpool/agents/claude_code_agent/models.py +77 -0
- agentpool/agents/claude_code_agent/static_info.py +100 -0
- agentpool/agents/claude_code_agent/usage.py +242 -0
- agentpool/agents/events/__init__.py +22 -0
- agentpool/agents/events/builtin_handlers.py +65 -0
- agentpool/agents/events/event_emitter.py +3 -0
- agentpool/agents/events/events.py +84 -3
- agentpool/agents/events/infer_info.py +145 -0
- agentpool/agents/events/processors.py +254 -0
- agentpool/agents/interactions.py +41 -6
- agentpool/agents/modes.py +13 -0
- agentpool/agents/slashed_agent.py +5 -4
- agentpool/agents/tool_wrapping.py +18 -6
- agentpool/common_types.py +35 -21
- agentpool/config_resources/acp_assistant.yml +2 -2
- agentpool/config_resources/agents.yml +3 -0
- agentpool/config_resources/agents_template.yml +1 -0
- agentpool/config_resources/claude_code_agent.yml +9 -8
- agentpool/config_resources/external_acp_agents.yml +2 -1
- agentpool/delegation/base_team.py +4 -30
- agentpool/delegation/pool.py +104 -265
- agentpool/delegation/team.py +57 -57
- agentpool/delegation/teamrun.py +50 -55
- agentpool/functional/run.py +10 -4
- agentpool/mcp_server/client.py +73 -38
- agentpool/mcp_server/conversions.py +54 -13
- agentpool/mcp_server/manager.py +9 -23
- agentpool/mcp_server/registries/official_registry_client.py +10 -1
- agentpool/mcp_server/tool_bridge.py +114 -79
- agentpool/messaging/connection_manager.py +11 -10
- agentpool/messaging/event_manager.py +5 -5
- agentpool/messaging/message_container.py +6 -30
- agentpool/messaging/message_history.py +87 -8
- agentpool/messaging/messagenode.py +52 -14
- agentpool/messaging/messages.py +2 -26
- agentpool/messaging/processing.py +10 -22
- agentpool/models/__init__.py +1 -1
- agentpool/models/acp_agents/base.py +6 -2
- agentpool/models/acp_agents/mcp_capable.py +124 -15
- agentpool/models/acp_agents/non_mcp.py +0 -23
- agentpool/models/agents.py +66 -66
- agentpool/models/agui_agents.py +1 -1
- agentpool/models/claude_code_agents.py +111 -17
- agentpool/models/file_parsing.py +0 -1
- agentpool/models/manifest.py +70 -50
- agentpool/prompts/conversion_manager.py +1 -1
- agentpool/prompts/prompts.py +5 -2
- agentpool/resource_providers/__init__.py +2 -0
- agentpool/resource_providers/aggregating.py +4 -2
- agentpool/resource_providers/base.py +13 -3
- agentpool/resource_providers/codemode/code_executor.py +72 -5
- agentpool/resource_providers/codemode/helpers.py +2 -2
- agentpool/resource_providers/codemode/provider.py +64 -12
- agentpool/resource_providers/codemode/remote_mcp_execution.py +2 -2
- agentpool/resource_providers/codemode/remote_provider.py +9 -12
- agentpool/resource_providers/filtering.py +3 -1
- agentpool/resource_providers/mcp_provider.py +66 -12
- agentpool/resource_providers/plan_provider.py +111 -18
- agentpool/resource_providers/pool.py +5 -3
- agentpool/resource_providers/resource_info.py +111 -0
- agentpool/resource_providers/static.py +2 -2
- agentpool/sessions/__init__.py +2 -0
- agentpool/sessions/manager.py +2 -3
- agentpool/sessions/models.py +9 -6
- agentpool/sessions/protocol.py +28 -0
- agentpool/sessions/session.py +11 -55
- agentpool/storage/manager.py +361 -54
- agentpool/talk/registry.py +4 -4
- agentpool/talk/talk.py +9 -10
- agentpool/testing.py +1 -1
- agentpool/tool_impls/__init__.py +6 -0
- agentpool/tool_impls/agent_cli/__init__.py +42 -0
- agentpool/tool_impls/agent_cli/tool.py +95 -0
- agentpool/tool_impls/bash/__init__.py +64 -0
- agentpool/tool_impls/bash/helpers.py +35 -0
- agentpool/tool_impls/bash/tool.py +171 -0
- agentpool/tool_impls/delete_path/__init__.py +70 -0
- agentpool/tool_impls/delete_path/tool.py +142 -0
- agentpool/tool_impls/download_file/__init__.py +80 -0
- agentpool/tool_impls/download_file/tool.py +183 -0
- agentpool/tool_impls/execute_code/__init__.py +55 -0
- agentpool/tool_impls/execute_code/tool.py +163 -0
- agentpool/tool_impls/grep/__init__.py +80 -0
- agentpool/tool_impls/grep/tool.py +200 -0
- agentpool/tool_impls/list_directory/__init__.py +73 -0
- agentpool/tool_impls/list_directory/tool.py +197 -0
- agentpool/tool_impls/question/__init__.py +42 -0
- agentpool/tool_impls/question/tool.py +127 -0
- agentpool/tool_impls/read/__init__.py +104 -0
- agentpool/tool_impls/read/tool.py +305 -0
- agentpool/tools/__init__.py +2 -1
- agentpool/tools/base.py +114 -34
- agentpool/tools/manager.py +57 -1
- agentpool/ui/base.py +2 -2
- agentpool/ui/mock_provider.py +2 -2
- agentpool/ui/stdlib_provider.py +2 -2
- agentpool/utils/streams.py +21 -96
- agentpool/vfs_registry.py +7 -2
- {agentpool-2.2.3.dist-info → agentpool-2.5.0.dist-info}/METADATA +16 -22
- {agentpool-2.2.3.dist-info → agentpool-2.5.0.dist-info}/RECORD +242 -195
- {agentpool-2.2.3.dist-info → agentpool-2.5.0.dist-info}/WHEEL +1 -1
- agentpool_cli/__main__.py +20 -0
- agentpool_cli/create.py +1 -1
- agentpool_cli/serve_acp.py +59 -1
- agentpool_cli/serve_opencode.py +1 -1
- agentpool_cli/ui.py +557 -0
- agentpool_commands/__init__.py +12 -5
- agentpool_commands/agents.py +1 -1
- agentpool_commands/pool.py +260 -0
- agentpool_commands/session.py +1 -1
- agentpool_commands/text_sharing/__init__.py +119 -0
- agentpool_commands/text_sharing/base.py +123 -0
- agentpool_commands/text_sharing/github_gist.py +80 -0
- agentpool_commands/text_sharing/opencode.py +462 -0
- agentpool_commands/text_sharing/paste_rs.py +59 -0
- agentpool_commands/text_sharing/pastebin.py +116 -0
- agentpool_commands/text_sharing/shittycodingagent.py +112 -0
- agentpool_commands/utils.py +31 -32
- agentpool_config/__init__.py +30 -2
- agentpool_config/agentpool_tools.py +498 -0
- agentpool_config/converters.py +1 -1
- agentpool_config/event_handlers.py +42 -0
- agentpool_config/events.py +1 -1
- agentpool_config/forward_targets.py +1 -4
- agentpool_config/jinja.py +3 -3
- agentpool_config/mcp_server.py +1 -5
- agentpool_config/nodes.py +1 -1
- agentpool_config/observability.py +44 -0
- agentpool_config/session.py +0 -3
- agentpool_config/storage.py +38 -39
- agentpool_config/task.py +3 -3
- agentpool_config/tools.py +11 -28
- agentpool_config/toolsets.py +22 -90
- agentpool_server/a2a_server/agent_worker.py +307 -0
- agentpool_server/a2a_server/server.py +23 -18
- agentpool_server/acp_server/acp_agent.py +125 -56
- agentpool_server/acp_server/commands/acp_commands.py +46 -216
- agentpool_server/acp_server/commands/docs_commands/fetch_repo.py +8 -7
- agentpool_server/acp_server/event_converter.py +651 -0
- agentpool_server/acp_server/input_provider.py +53 -10
- agentpool_server/acp_server/server.py +1 -11
- agentpool_server/acp_server/session.py +90 -410
- agentpool_server/acp_server/session_manager.py +8 -34
- agentpool_server/agui_server/server.py +3 -1
- agentpool_server/mcp_server/server.py +5 -2
- agentpool_server/opencode_server/ENDPOINTS.md +53 -14
- agentpool_server/opencode_server/OPENCODE_UI_TOOLS_COMPLETE.md +202 -0
- agentpool_server/opencode_server/__init__.py +0 -8
- agentpool_server/opencode_server/converters.py +132 -26
- agentpool_server/opencode_server/input_provider.py +160 -8
- agentpool_server/opencode_server/models/__init__.py +42 -20
- agentpool_server/opencode_server/models/app.py +12 -0
- agentpool_server/opencode_server/models/events.py +203 -29
- agentpool_server/opencode_server/models/mcp.py +19 -0
- agentpool_server/opencode_server/models/message.py +18 -1
- agentpool_server/opencode_server/models/parts.py +134 -1
- agentpool_server/opencode_server/models/question.py +56 -0
- agentpool_server/opencode_server/models/session.py +13 -1
- agentpool_server/opencode_server/routes/__init__.py +4 -0
- agentpool_server/opencode_server/routes/agent_routes.py +33 -2
- agentpool_server/opencode_server/routes/app_routes.py +66 -3
- agentpool_server/opencode_server/routes/config_routes.py +66 -5
- agentpool_server/opencode_server/routes/file_routes.py +184 -5
- agentpool_server/opencode_server/routes/global_routes.py +1 -1
- agentpool_server/opencode_server/routes/lsp_routes.py +1 -1
- agentpool_server/opencode_server/routes/message_routes.py +122 -66
- agentpool_server/opencode_server/routes/permission_routes.py +63 -0
- agentpool_server/opencode_server/routes/pty_routes.py +23 -22
- agentpool_server/opencode_server/routes/question_routes.py +128 -0
- agentpool_server/opencode_server/routes/session_routes.py +139 -68
- agentpool_server/opencode_server/routes/tui_routes.py +1 -1
- agentpool_server/opencode_server/server.py +47 -2
- agentpool_server/opencode_server/state.py +30 -0
- agentpool_storage/__init__.py +0 -4
- agentpool_storage/base.py +81 -2
- agentpool_storage/claude_provider/ARCHITECTURE.md +433 -0
- agentpool_storage/claude_provider/__init__.py +42 -0
- agentpool_storage/{claude_provider.py → claude_provider/provider.py} +190 -8
- agentpool_storage/file_provider.py +149 -15
- agentpool_storage/memory_provider.py +132 -12
- agentpool_storage/opencode_provider/ARCHITECTURE.md +386 -0
- agentpool_storage/opencode_provider/__init__.py +16 -0
- agentpool_storage/opencode_provider/helpers.py +414 -0
- agentpool_storage/opencode_provider/provider.py +895 -0
- agentpool_storage/session_store.py +20 -6
- agentpool_storage/sql_provider/sql_provider.py +135 -2
- agentpool_storage/sql_provider/utils.py +2 -12
- agentpool_storage/zed_provider/__init__.py +16 -0
- agentpool_storage/zed_provider/helpers.py +281 -0
- agentpool_storage/zed_provider/models.py +130 -0
- agentpool_storage/zed_provider/provider.py +442 -0
- agentpool_storage/zed_provider.py +803 -0
- agentpool_toolsets/__init__.py +0 -2
- agentpool_toolsets/builtin/__init__.py +2 -4
- agentpool_toolsets/builtin/code.py +4 -4
- agentpool_toolsets/builtin/debug.py +115 -40
- agentpool_toolsets/builtin/execution_environment.py +54 -165
- agentpool_toolsets/builtin/skills.py +0 -77
- agentpool_toolsets/builtin/subagent_tools.py +64 -51
- agentpool_toolsets/builtin/workers.py +4 -2
- agentpool_toolsets/composio_toolset.py +2 -2
- agentpool_toolsets/entry_points.py +3 -1
- agentpool_toolsets/fsspec_toolset/grep.py +25 -5
- agentpool_toolsets/fsspec_toolset/helpers.py +3 -2
- agentpool_toolsets/fsspec_toolset/toolset.py +350 -66
- agentpool_toolsets/mcp_discovery/data/mcp_servers.parquet +0 -0
- agentpool_toolsets/mcp_discovery/toolset.py +74 -17
- agentpool_toolsets/mcp_run_toolset.py +8 -11
- agentpool_toolsets/notifications.py +33 -33
- agentpool_toolsets/openapi.py +3 -1
- agentpool_toolsets/search_toolset.py +3 -1
- agentpool_config/resources.py +0 -33
- agentpool_server/acp_server/acp_tools.py +0 -43
- agentpool_server/acp_server/commands/spawn.py +0 -210
- agentpool_storage/opencode_provider.py +0 -730
- agentpool_storage/text_log_provider.py +0 -276
- agentpool_toolsets/builtin/chain.py +0 -288
- agentpool_toolsets/builtin/user_interaction.py +0 -52
- agentpool_toolsets/semantic_memory_toolset.py +0 -536
- {agentpool-2.2.3.dist-info → agentpool-2.5.0.dist-info}/entry_points.txt +0 -0
- {agentpool-2.2.3.dist-info → agentpool-2.5.0.dist-info}/licenses/LICENSE +0 -0
agentpool_cli/__main__.py
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from importlib import metadata
|
|
6
|
+
|
|
5
7
|
import typer as t
|
|
6
8
|
|
|
7
9
|
from agentpool_cli import log
|
|
@@ -17,6 +19,7 @@ from agentpool_cli.serve_opencode import opencode_command
|
|
|
17
19
|
from agentpool_cli.serve_vercel import vercel_command
|
|
18
20
|
from agentpool_cli.store import ConfigStore
|
|
19
21
|
from agentpool_cli.task import task_command
|
|
22
|
+
from agentpool_cli.ui import ui_app
|
|
20
23
|
from agentpool_cli.watch import watch_command
|
|
21
24
|
|
|
22
25
|
|
|
@@ -32,8 +35,24 @@ def get_command_help(base_help: str) -> str:
|
|
|
32
35
|
return f"{base_help}\n\n(No active config set)"
|
|
33
36
|
|
|
34
37
|
|
|
38
|
+
def version_callback(value: bool) -> None:
|
|
39
|
+
"""Print version and exit."""
|
|
40
|
+
if value:
|
|
41
|
+
version = metadata.version("agentpool")
|
|
42
|
+
t.echo(f"agentpool version {version}")
|
|
43
|
+
raise t.Exit
|
|
44
|
+
|
|
45
|
+
|
|
35
46
|
def main(
|
|
36
47
|
ctx: t.Context,
|
|
48
|
+
version: bool = t.Option(
|
|
49
|
+
False,
|
|
50
|
+
"--version",
|
|
51
|
+
"-v",
|
|
52
|
+
help="Show version and exit",
|
|
53
|
+
callback=version_callback,
|
|
54
|
+
is_eager=True,
|
|
55
|
+
),
|
|
37
56
|
log_level: LogLevel = t.Option("info", "--log-level", "-l", help="Log level"), # noqa: B008
|
|
38
57
|
) -> None:
|
|
39
58
|
"""🤖 AgentPool CLI - Run and manage LLM agents."""
|
|
@@ -64,6 +83,7 @@ cli.command(name="serve-vercel")(vercel_command)
|
|
|
64
83
|
cli.command(name="task")(task_command)
|
|
65
84
|
|
|
66
85
|
cli.add_typer(history_cli, name="history")
|
|
86
|
+
cli.add_typer(ui_app, name="ui")
|
|
67
87
|
|
|
68
88
|
|
|
69
89
|
if __name__ == "__main__":
|
agentpool_cli/create.py
CHANGED
|
@@ -115,7 +115,7 @@ def create(
|
|
|
115
115
|
from upathtools import to_upath
|
|
116
116
|
|
|
117
117
|
super().__init__()
|
|
118
|
-
agent = Agent(output_type=YAMLCode)
|
|
118
|
+
agent = Agent(output_type=YAMLCode, model="openai:gpt-5-nano")
|
|
119
119
|
self.agent = agent
|
|
120
120
|
self.current_config: str | None = None
|
|
121
121
|
self.output_path = to_upath(output_path) if output_path else None
|
agentpool_cli/serve_acp.py
CHANGED
|
@@ -8,6 +8,7 @@ integration with file system access, permission handling, and terminal support.
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
10
|
import asyncio
|
|
11
|
+
import json
|
|
11
12
|
import os
|
|
12
13
|
from typing import TYPE_CHECKING, Annotated, Literal
|
|
13
14
|
|
|
@@ -19,12 +20,14 @@ from agentpool_cli import log, resolve_agent_config
|
|
|
19
20
|
|
|
20
21
|
if TYPE_CHECKING:
|
|
21
22
|
from acp import Transport
|
|
23
|
+
from agentpool_config.mcp_server import MCPServerConfig
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
logger = log.get_logger(__name__)
|
|
25
27
|
|
|
26
28
|
|
|
27
|
-
def acp_command(
|
|
29
|
+
def acp_command( # noqa: PLR0915
|
|
30
|
+
# Too many statements - complex CLI command with many options
|
|
28
31
|
config: Annotated[str | None, t.Argument(help="Path to agent configuration (optional)")] = None,
|
|
29
32
|
file_access: Annotated[
|
|
30
33
|
bool,
|
|
@@ -96,6 +99,13 @@ def acp_command(
|
|
|
96
99
|
help="WebSocket port (only used with --transport websocket)",
|
|
97
100
|
),
|
|
98
101
|
] = 8765,
|
|
102
|
+
mcp_config: Annotated[
|
|
103
|
+
str | None,
|
|
104
|
+
t.Option(
|
|
105
|
+
"--mcp-config",
|
|
106
|
+
help='MCP servers configuration as JSON (format: {"mcpServers": {...}})',
|
|
107
|
+
),
|
|
108
|
+
] = None,
|
|
99
109
|
) -> None:
|
|
100
110
|
r"""Run agents as an ACP (Agent Client Protocol) server.
|
|
101
111
|
|
|
@@ -172,6 +182,54 @@ def acp_command(
|
|
|
172
182
|
load_skills=load_skills,
|
|
173
183
|
transport=transport_config,
|
|
174
184
|
)
|
|
185
|
+
|
|
186
|
+
# Inject MCP servers from --mcp-config if provided
|
|
187
|
+
# TODO: Consider adding to specific agent's MCP manager instead of pool-level
|
|
188
|
+
# for better isolation (currently all agents in pool share these servers)
|
|
189
|
+
if mcp_config:
|
|
190
|
+
try:
|
|
191
|
+
mcp_data = json.loads(mcp_config)
|
|
192
|
+
if "mcpServers" not in mcp_data:
|
|
193
|
+
raise t.BadParameter("MCP config must contain 'mcpServers' key")
|
|
194
|
+
|
|
195
|
+
from agentpool_config.mcp_server import (
|
|
196
|
+
SSEMCPServerConfig,
|
|
197
|
+
StreamableHTTPMCPServerConfig,
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
for server_name, server_cfg in mcp_data["mcpServers"].items():
|
|
201
|
+
# Parse server config based on transport type
|
|
202
|
+
if "transport" in server_cfg:
|
|
203
|
+
if server_cfg["transport"] == "sse":
|
|
204
|
+
server: MCPServerConfig = SSEMCPServerConfig(
|
|
205
|
+
name=server_name,
|
|
206
|
+
url=server_cfg["url"],
|
|
207
|
+
)
|
|
208
|
+
elif server_cfg["transport"] == "http":
|
|
209
|
+
server = StreamableHTTPMCPServerConfig(
|
|
210
|
+
name=server_name,
|
|
211
|
+
url=server_cfg["url"],
|
|
212
|
+
)
|
|
213
|
+
else:
|
|
214
|
+
msg = f"Unsupported transport type: {server_cfg['transport']}"
|
|
215
|
+
raise t.BadParameter(msg)
|
|
216
|
+
else:
|
|
217
|
+
# Default to HTTP if no transport specified
|
|
218
|
+
server = StreamableHTTPMCPServerConfig(
|
|
219
|
+
name=server_name,
|
|
220
|
+
url=server_cfg["url"],
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
acp_server.pool.mcp.add_server_config(server)
|
|
224
|
+
logger.info(
|
|
225
|
+
"Added MCP server from --mcp-config",
|
|
226
|
+
server_name=server_name,
|
|
227
|
+
url=server_cfg.get("url"),
|
|
228
|
+
)
|
|
229
|
+
except json.JSONDecodeError as e:
|
|
230
|
+
msg = f"Invalid JSON in --mcp-config: {e}"
|
|
231
|
+
raise t.BadParameter(msg) from e
|
|
232
|
+
|
|
175
233
|
if show_messages:
|
|
176
234
|
logger.info("Message activity logging enabled")
|
|
177
235
|
if debug_messages:
|
agentpool_cli/serve_opencode.py
CHANGED
|
@@ -69,7 +69,7 @@ def opencode_command(
|
|
|
69
69
|
"""
|
|
70
70
|
from agentpool import AgentPool, log as ap_log
|
|
71
71
|
from agentpool.config_resources import CLAUDE_CODE_ASSISTANT
|
|
72
|
-
from agentpool_server.opencode_server import OpenCodeServer
|
|
72
|
+
from agentpool_server.opencode_server.server import OpenCodeServer
|
|
73
73
|
|
|
74
74
|
# Always log to file with rollover
|
|
75
75
|
log_dir = user_log_path("agentpool", appauthor=False)
|