agentpool 2.2.0__tar.gz → 2.2.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.
- {agentpool-2.2.0 → agentpool-2.2.2}/PKG-INFO +2 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/pyproject.toml +4 -3
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/stdio.py +39 -9
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/transports.py +48 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/utils.py +13 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/acp_agent.py +14 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/acp_converters.py +12 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/client_handler.py +2 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agent.py +4 -3
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/agui_agent.py +13 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/base_agent.py +62 -2
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/claude_code_agent.py +96 -31
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/converters.py +1 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/__init__.py +2 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/events.py +20 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/common_types.py +21 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/pool.py +6 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/lsp_manager.py +153 -110
- agentpool-2.2.2/src/agentpool/diagnostics/lsp_proxy.py +41 -0
- agentpool-2.2.2/src/agentpool/diagnostics/lsp_proxy_script.py +229 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/models.py +2 -2
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/__init__.py +0 -2
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/client.py +12 -3
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/tool_bridge.py +61 -56
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/messages.py +14 -6
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/mcp_capable.py +1 -116
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/non_mcp.py +116 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/agents.py +2 -2
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/repomap.py +1 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/__init__.py +9 -1
- agentpool-2.2.2/src/agentpool/resource_providers/aggregating.py +103 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/base.py +57 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/mcp_provider.py +8 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/plan_provider.py +2 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/pool.py +2 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/static.py +2 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/registry.py +13 -8
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/manager.py +82 -1
- agentpool-2.2.2/src/agentpool/utils/file_watcher.py +269 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/streams.py +48 -9
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/token_breakdown.py +72 -8
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/__init__.py +30 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/agents.py +74 -1
- agentpool-2.2.2/src/agentpool_commands/history.py +62 -0
- agentpool-2.2.2/src/agentpool_commands/mcp.py +176 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/tools.py +57 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/utils.py +51 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/mcp_server.py +131 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/toolsets.py +1 -147
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/session.py +20 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/ENDPOINTS.md +108 -25
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/converters.py +112 -33
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/input_provider.py +15 -18
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/__init__.py +12 -0
- agentpool-2.2.2/src/agentpool_server/opencode_server/models/events.py +647 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/file.py +24 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/message.py +1 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/parts.py +1 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/session.py +17 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/__init__.py +4 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/agent_routes.py +33 -64
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/app_routes.py +6 -1
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/file_routes.py +15 -20
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/global_routes.py +10 -0
- agentpool-2.2.2/src/agentpool_server/opencode_server/routes/lsp_routes.py +202 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/message_routes.py +150 -114
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/pty_routes.py +35 -6
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/session_routes.py +202 -375
- agentpool-2.2.2/src/agentpool_server/opencode_server/routes/tui_routes.py +139 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/server.py +155 -4
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/state.py +38 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/base.py +18 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/file_provider.py +14 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/memory_provider.py +9 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/sql_provider.py +21 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/__init__.py +0 -8
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/debug.py +1 -19
- agentpool-2.2.2/src/agentpool_toolsets/builtin/skills.py +159 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/toolset.py +4 -4
- agentpool-2.2.2/src/agentpool_toolsets/mcp_run_toolset.py +139 -0
- agentpool-2.2.0/src/agentpool/diagnostics/lsp_proxy.py +0 -273
- agentpool-2.2.0/src/agentpool/resource_providers/aggregating.py +0 -54
- agentpool-2.2.0/src/agentpool_server/opencode_server/models/events.py +0 -162
- agentpool-2.2.0/src/agentpool_toolsets/builtin/agent_management.py +0 -239
- agentpool-2.2.0/src/agentpool_toolsets/builtin/history.py +0 -36
- agentpool-2.2.0/src/agentpool_toolsets/builtin/integration.py +0 -85
- agentpool-2.2.0/src/agentpool_toolsets/builtin/skills.py +0 -77
- agentpool-2.2.0/src/agentpool_toolsets/builtin/tool_management.py +0 -90
- agentpool-2.2.0/src/agentpool_toolsets/mcp_run_toolset.py +0 -61
- {agentpool-2.2.0 → agentpool-2.2.2}/LICENSE +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/README.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/README.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/__main__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/acp_requests.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/connection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/cli.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/debug.html +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/debug_server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/testing.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/protocol.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/README.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/__main__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/bridge.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/settings.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/ws_server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/ws_server_cli.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/connection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/default_client.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/headless_client.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/noop_client.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/protocol.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/connection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/exceptions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/filesystem.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/notifications.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_plan.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_requests.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_responses.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/capabilities.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/client_requests.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/client_responses.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/common.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/content_blocks.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/mcp.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/messages.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/notifications.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/protocol_stuff.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/session_state.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/session_updates.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/slash_commands.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/terminal.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/tool_call.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/debug.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/dispatcher.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/queue.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/sender.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/state.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/supervisor.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/terminal_handle.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/tool_call_reporter.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/tool_call_state.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/__main__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/session_state.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/agui_converters.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/chunk_transformer.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/event_types.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/architect.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/history.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/context.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/builtin_handlers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/event_emitter.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/tts_handlers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/interactions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/modes.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/slashed_agent.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/sys_prompts.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/tool_call_accumulator.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/tool_wrapping.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/base_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/acp_assistant.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agents.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agents_template.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agui_test.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/claude_code_agent.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/claude_style_subagent.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/external_acp_agents.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/opencode_style_subagent.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/tts_test_agents.yml +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/base_team.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/message_flow_tracker.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/team.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/teamrun.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/gen_examples.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/run.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/structure.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/agent_hooks.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/callable.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/command.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/prompt.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/jinja_filters.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/log.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/constants.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/conversions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/message_handler.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/official_registry_client.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/pulsemcp_client.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/compaction.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/connection_manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/context.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/event_manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/events.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/message_container.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/message_history.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/messagenode.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/processing.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mime_utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/agui_agents.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/claude_code_agents.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/file_agents.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/file_parsing.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/manifest.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/observability/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/observability/observability_registry.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/builtin_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/conversion_manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/convert.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/parts/zed.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/prompts.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/README.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/README.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/c-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/go-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/java-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/php-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/python-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/code_executor.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/default_prompt.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/progress_executor.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/remote_mcp_execution.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/remote_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/filtering.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/decorators.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/discovery.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/executor.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/injection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/run_nodes.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/session.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/store.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/skill.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/serialization.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/registry.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/stats.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/talk.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/exceptions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/registry.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/testing.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/system_prompt.jinja +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_default.jinja +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_markdown.jinja +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_simple.jinja +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/exceptions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/tool_call_info.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/mock_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/stdlib_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/baseregistry.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/count_tokens.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/dag.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/identifiers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/importing.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/inspection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/model_capabilities.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/network.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/now.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/parse_time.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/pydantic_ai_helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/result_utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/signatures.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/subprocess_utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/tasks.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/vfs_registry.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/__main__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/agent.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/cli_types.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/common.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/create.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/history.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/log.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/run.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_acp.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_agui.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_api.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_mcp.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_opencode.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_vercel.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/store.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/task.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/watch.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/commands.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/completers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/connections.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/markdown_utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/prompts.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/read.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/resources.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/session.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/workers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/builtin_tools.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/commands.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/compaction.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/conditions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/converters.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/durable.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/event_handlers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/events.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/forward_targets.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/hook_conditions.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/hooks.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/jinja.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/knowledge.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/loaders.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/nodes.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/observability.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/output_types.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/pool_server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/prompt_hubs.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/prompts.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/resources.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/session.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/skills.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/storage.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/system_prompts.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/task.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/teams.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/tools.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/workers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/braintrust_hub.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/fabric.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/langfuse_hub.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/promptlayer_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/a2a_types.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/storage.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/acp_agent.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/acp_tools.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/acp_commands.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/debug_commands.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/fetch_repo.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/get_schema.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/get_source.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/git_diff.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/url_to_markdown.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/spawn.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/converters.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/input_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/session_manager.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/syntax_detection.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/zed_tools.md +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/aggregating_server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/agui_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/agui_server/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/http_server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/zed_wrapper.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/server.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/.rules +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/command_validation.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/dependencies.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/agent.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/app.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/base.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/common.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/config.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/mcp.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/pty.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/config_routes.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/time_utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/formatters.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/session_store.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/cli.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/models.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/queries.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/utils.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/text_log_provider.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/chain.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/code.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/execution_environment.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/file_edit.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/example_usage.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/streaming_fuzzy_matcher.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/subagent_tools.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/user_interaction.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/workers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/composio_toolset.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/config_creation.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/entry_points.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/diagnostics.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/grep.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/helpers.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/streaming_diff_parser.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/__init__.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/data/mcp_servers.parquet +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/toolset.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/notifications.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/openapi.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/py.typed +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/search_toolset.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/semantic_memory_toolset.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/streaming_tools.py +0 -0
- {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/vfs_toolset.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentpool
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: Pydantic-AI based Multi-Agent Framework with YAML-based Agents, Teams, Workflows & Extended ACP / AGUI integration
|
|
5
5
|
Keywords:
|
|
6
6
|
Author: Philipp Temminghoff
|
|
@@ -55,6 +55,7 @@ Requires-Dist: tokonomics>=0.1.2
|
|
|
55
55
|
Requires-Dist: toprompt>=0.0.1
|
|
56
56
|
Requires-Dist: typer
|
|
57
57
|
Requires-Dist: upathtools>=0.1.0
|
|
58
|
+
Requires-Dist: watchfiles>=1.1.1
|
|
58
59
|
Requires-Dist: websockets>=15.0
|
|
59
60
|
Requires-Dist: yamling>=2.0.2
|
|
60
61
|
Requires-Dist: fasta2a ; extra == 'a2a'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[project]
|
|
4
4
|
name = "agentpool"
|
|
5
|
-
version = "2.2.
|
|
5
|
+
version = "2.2.2"
|
|
6
6
|
description = "Pydantic-AI based Multi-Agent Framework with YAML-based Agents, Teams, Workflows & Extended ACP / AGUI integration"
|
|
7
7
|
readme = "README.md"
|
|
8
8
|
requires-python = ">=3.13"
|
|
@@ -65,6 +65,7 @@ dependencies = [
|
|
|
65
65
|
"toprompt>=0.0.1",
|
|
66
66
|
"typer",
|
|
67
67
|
"upathtools>=0.1.0",
|
|
68
|
+
"watchfiles>=1.1.1",
|
|
68
69
|
"websockets>=15.0",
|
|
69
70
|
"yamling>=2.0.2",
|
|
70
71
|
]
|
|
@@ -261,7 +262,7 @@ reportPrivateImportUsage = false
|
|
|
261
262
|
reportUnusedExpression = false
|
|
262
263
|
|
|
263
264
|
[tool.pytest]
|
|
264
|
-
addopts = ["-m", "not slow and not
|
|
265
|
+
addopts = ["-m", "not slow and not acp_snapshot"]
|
|
265
266
|
filterwarnings = [
|
|
266
267
|
"ignore::DeprecationWarning:psygnal.*",
|
|
267
268
|
"ignore::DeprecationWarning:pydantic.*:",
|
|
@@ -272,7 +273,7 @@ log_date_format = "%Y-%m-%d %H:%M:%S"
|
|
|
272
273
|
log_format = "%(asctime)s %(levelname)s %(message)s"
|
|
273
274
|
log_level = "ERROR"
|
|
274
275
|
markers = [
|
|
275
|
-
"
|
|
276
|
+
"acp_snapshot: marks tests as ACP snapshot tests (excluded by default)",
|
|
276
277
|
"asyncio: mark test as async",
|
|
277
278
|
"integration: marks tests as integration tests",
|
|
278
279
|
"slow: marks tests as slow",
|
|
@@ -87,10 +87,20 @@ async def spawn_stdio_connection(
|
|
|
87
87
|
env: Mapping[str, str] | None = None,
|
|
88
88
|
cwd: str | Path | None = None,
|
|
89
89
|
observers: list[StreamObserver] | None = None,
|
|
90
|
-
|
|
90
|
+
log_stderr: bool = False,
|
|
91
91
|
) -> AsyncIterator[tuple[Connection, Process]]:
|
|
92
|
-
"""Spawn a subprocess and bind its stdio to a low-level Connection.
|
|
93
|
-
|
|
92
|
+
"""Spawn a subprocess and bind its stdio to a low-level Connection.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
handler: Method handler for the connection.
|
|
96
|
+
command: The command to execute.
|
|
97
|
+
*args: Arguments for the command.
|
|
98
|
+
env: Environment variables for the subprocess.
|
|
99
|
+
cwd: Working directory for the subprocess.
|
|
100
|
+
observers: Optional stream observers.
|
|
101
|
+
log_stderr: If True, log stderr output from the subprocess.
|
|
102
|
+
"""
|
|
103
|
+
async with spawn_stdio_transport(command, *args, env=env, cwd=cwd, log_stderr=log_stderr) as (
|
|
94
104
|
reader,
|
|
95
105
|
writer,
|
|
96
106
|
process,
|
|
@@ -109,16 +119,26 @@ async def spawn_agent_process(
|
|
|
109
119
|
*args: str,
|
|
110
120
|
env: Mapping[str, str] | None = None,
|
|
111
121
|
cwd: str | Path | None = None,
|
|
112
|
-
|
|
122
|
+
log_stderr: bool = False,
|
|
113
123
|
**connection_kwargs: Any,
|
|
114
124
|
) -> AsyncIterator[tuple[ClientSideConnection, Process]]:
|
|
115
|
-
"""Spawn an ACP agent subprocess and return a ClientSideConnection to it.
|
|
125
|
+
"""Spawn an ACP agent subprocess and return a ClientSideConnection to it.
|
|
126
|
+
|
|
127
|
+
Args:
|
|
128
|
+
to_client: Factory function that creates a Client from an Agent.
|
|
129
|
+
command: The command to execute.
|
|
130
|
+
*args: Arguments for the command.
|
|
131
|
+
env: Environment variables for the subprocess.
|
|
132
|
+
cwd: Working directory for the subprocess.
|
|
133
|
+
log_stderr: If True, log stderr output from the subprocess.
|
|
134
|
+
**connection_kwargs: Additional arguments for ClientSideConnection.
|
|
135
|
+
"""
|
|
116
136
|
async with spawn_stdio_transport(
|
|
117
137
|
command,
|
|
118
138
|
*args,
|
|
119
139
|
env=env,
|
|
120
140
|
cwd=cwd,
|
|
121
|
-
|
|
141
|
+
log_stderr=log_stderr,
|
|
122
142
|
) as (reader, writer, process):
|
|
123
143
|
conn = ClientSideConnection(to_client, writer, reader, **connection_kwargs)
|
|
124
144
|
try:
|
|
@@ -134,16 +154,26 @@ async def spawn_client_process(
|
|
|
134
154
|
*args: str,
|
|
135
155
|
env: Mapping[str, str] | None = None,
|
|
136
156
|
cwd: str | Path | None = None,
|
|
137
|
-
|
|
157
|
+
log_stderr: bool = False,
|
|
138
158
|
**connection_kwargs: Any,
|
|
139
159
|
) -> AsyncIterator[tuple[AgentSideConnection, Process]]:
|
|
140
|
-
"""Spawn an ACP client subprocess and return an AgentSideConnection to it.
|
|
160
|
+
"""Spawn an ACP client subprocess and return an AgentSideConnection to it.
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
to_agent: Factory function that creates an Agent from an AgentSideConnection.
|
|
164
|
+
command: The command to execute.
|
|
165
|
+
*args: Arguments for the command.
|
|
166
|
+
env: Environment variables for the subprocess.
|
|
167
|
+
cwd: Working directory for the subprocess.
|
|
168
|
+
log_stderr: If True, log stderr output from the subprocess.
|
|
169
|
+
**connection_kwargs: Additional arguments for AgentSideConnection.
|
|
170
|
+
"""
|
|
141
171
|
async with spawn_stdio_transport(
|
|
142
172
|
command,
|
|
143
173
|
*args,
|
|
144
174
|
env=env,
|
|
145
175
|
cwd=cwd,
|
|
146
|
-
|
|
176
|
+
log_stderr=log_stderr,
|
|
147
177
|
) as (reader, writer, process):
|
|
148
178
|
conn = AgentSideConnection(to_agent, writer, reader, **connection_kwargs)
|
|
149
179
|
try:
|
|
@@ -362,6 +362,32 @@ def default_environment() -> dict[str, str]:
|
|
|
362
362
|
return env
|
|
363
363
|
|
|
364
364
|
|
|
365
|
+
async def _drain_stderr_to_log(
|
|
366
|
+
process: Process,
|
|
367
|
+
command: str,
|
|
368
|
+
log_level: int = logging.WARNING,
|
|
369
|
+
) -> None:
|
|
370
|
+
"""Read stderr from a process and log each line.
|
|
371
|
+
|
|
372
|
+
Args:
|
|
373
|
+
process: The subprocess to read stderr from.
|
|
374
|
+
command: Command name for log messages.
|
|
375
|
+
log_level: Log level for stderr output (default WARNING).
|
|
376
|
+
"""
|
|
377
|
+
if process.stderr is None:
|
|
378
|
+
return
|
|
379
|
+
|
|
380
|
+
try:
|
|
381
|
+
async for line_bytes in process.stderr:
|
|
382
|
+
line = line_bytes.decode(errors="replace").rstrip()
|
|
383
|
+
if line:
|
|
384
|
+
logger.log(log_level, "[%s stderr] %s", command, line)
|
|
385
|
+
except anyio.EndOfStream:
|
|
386
|
+
pass
|
|
387
|
+
except Exception: # noqa: BLE001
|
|
388
|
+
logger.debug("Error reading stderr from %s", command, exc_info=True)
|
|
389
|
+
|
|
390
|
+
|
|
365
391
|
@asynccontextmanager
|
|
366
392
|
async def spawn_stdio_transport(
|
|
367
393
|
command: str,
|
|
@@ -370,11 +396,23 @@ async def spawn_stdio_transport(
|
|
|
370
396
|
cwd: str | Path | None = None,
|
|
371
397
|
stderr: int | None = subprocess.PIPE,
|
|
372
398
|
shutdown_timeout: float = 2.0,
|
|
399
|
+
log_stderr: bool = False,
|
|
400
|
+
stderr_log_level: int = logging.WARNING,
|
|
373
401
|
) -> AsyncIterator[tuple[ByteReceiveStream, ByteSendStream, Process]]:
|
|
374
402
|
"""Launch a subprocess and expose its stdio streams as anyio streams.
|
|
375
403
|
|
|
376
404
|
This mirrors the defensive shutdown behaviour used by the MCP Python SDK:
|
|
377
405
|
close stdin first, wait for graceful exit, then escalate to terminate/kill.
|
|
406
|
+
|
|
407
|
+
Args:
|
|
408
|
+
command: The command to execute.
|
|
409
|
+
*args: Arguments for the command.
|
|
410
|
+
env: Environment variables (merged with defaults).
|
|
411
|
+
cwd: Working directory for the subprocess.
|
|
412
|
+
stderr: How to handle stderr (default: subprocess.PIPE).
|
|
413
|
+
shutdown_timeout: Timeout for graceful shutdown.
|
|
414
|
+
log_stderr: If True, read stderr in background and log each line.
|
|
415
|
+
stderr_log_level: Log level for stderr output (default WARNING).
|
|
378
416
|
"""
|
|
379
417
|
merged_env = default_environment()
|
|
380
418
|
if env:
|
|
@@ -395,9 +433,19 @@ async def spawn_stdio_transport(
|
|
|
395
433
|
msg = "spawn_stdio_transport requires stdout/stdin pipes"
|
|
396
434
|
raise RuntimeError(msg)
|
|
397
435
|
|
|
436
|
+
stderr_task: asyncio.Task[None] | None = None
|
|
437
|
+
if log_stderr and process.stderr is not None:
|
|
438
|
+
stderr_task = asyncio.create_task(_drain_stderr_to_log(process, command, stderr_log_level))
|
|
439
|
+
|
|
398
440
|
try:
|
|
399
441
|
yield process.stdout, process.stdin, process
|
|
400
442
|
finally:
|
|
443
|
+
# Cancel stderr logging task
|
|
444
|
+
if stderr_task is not None:
|
|
445
|
+
stderr_task.cancel()
|
|
446
|
+
with contextlib.suppress(asyncio.CancelledError):
|
|
447
|
+
await stderr_task
|
|
448
|
+
|
|
401
449
|
# Attempt graceful stdin shutdown first
|
|
402
450
|
if process.stdin is not None:
|
|
403
451
|
with contextlib.suppress(Exception):
|
|
@@ -122,6 +122,14 @@ def generate_tool_title(tool_name: str, tool_input: dict[str, Any]) -> str: # n
|
|
|
122
122
|
"""
|
|
123
123
|
name_lower = tool_name.lower()
|
|
124
124
|
|
|
125
|
+
# Exact matches for common tool names (OpenCode compatibility)
|
|
126
|
+
if name_lower == "read" and (path := tool_input.get("path") or tool_input.get("file_path")):
|
|
127
|
+
return f"Reading: {path}"
|
|
128
|
+
if name_lower in ("write", "edit") and (
|
|
129
|
+
path := tool_input.get("path") or tool_input.get("file_path")
|
|
130
|
+
):
|
|
131
|
+
return f"Editing: {path}"
|
|
132
|
+
|
|
125
133
|
# Command/script execution - show the command
|
|
126
134
|
if any(k in name_lower for k in ["command", "execute", "run", "shell", "script"]) and (
|
|
127
135
|
cmd := tool_input.get("command")
|
|
@@ -217,6 +225,11 @@ def infer_tool_kind(tool_name: str) -> ToolCallKind: # noqa: PLR0911
|
|
|
217
225
|
Tool kind string for ACP protocol
|
|
218
226
|
"""
|
|
219
227
|
name_lower = tool_name.lower()
|
|
228
|
+
|
|
229
|
+
# Exact matches for common tool names (OpenCode compatibility)
|
|
230
|
+
if name_lower in ("read", "write", "edit"):
|
|
231
|
+
return "read" if name_lower == "read" else "edit"
|
|
232
|
+
|
|
220
233
|
if any(i in name_lower for i in ["read", "load", "get"]) and any(
|
|
221
234
|
i in name_lower for i in ["file", "path", "content"]
|
|
222
235
|
):
|
|
@@ -60,6 +60,7 @@ from agentpool.utils.streams import (
|
|
|
60
60
|
merge_queue_into_iterator,
|
|
61
61
|
)
|
|
62
62
|
from agentpool.utils.subprocess_utils import SubprocessError, monitor_process
|
|
63
|
+
from agentpool.utils.token_breakdown import calculate_usage_from_parts
|
|
63
64
|
|
|
64
65
|
|
|
65
66
|
if TYPE_CHECKING:
|
|
@@ -684,6 +685,17 @@ class ACPAgent[TDeps = None](BaseAgent[TDeps, str]):
|
|
|
684
685
|
|
|
685
686
|
text_content = "".join(text_chunks)
|
|
686
687
|
metadata = file_tracker.get_metadata()
|
|
688
|
+
|
|
689
|
+
# Calculate approximate token usage from what we can observe
|
|
690
|
+
input_parts = [*processed_prompts, *pending_parts]
|
|
691
|
+
usage, cost_info = await calculate_usage_from_parts(
|
|
692
|
+
input_parts=input_parts,
|
|
693
|
+
response_parts=current_response_parts,
|
|
694
|
+
text_content=text_content,
|
|
695
|
+
model_name=self.model_name,
|
|
696
|
+
provider=self.config.type,
|
|
697
|
+
)
|
|
698
|
+
|
|
687
699
|
message = ChatMessage[str](
|
|
688
700
|
content=text_content,
|
|
689
701
|
role="assistant",
|
|
@@ -695,6 +707,8 @@ class ACPAgent[TDeps = None](BaseAgent[TDeps, str]):
|
|
|
695
707
|
messages=model_messages,
|
|
696
708
|
metadata=metadata,
|
|
697
709
|
finish_reason=finish_reason,
|
|
710
|
+
usage=usage,
|
|
711
|
+
cost_info=cost_info,
|
|
698
712
|
)
|
|
699
713
|
complete_event = StreamCompleteEvent(message=message)
|
|
700
714
|
await handler(None, complete_event)
|
|
@@ -265,6 +265,9 @@ def mcp_config_to_acp(config: MCPServerConfig) -> McpServer | None: ...
|
|
|
265
265
|
def mcp_config_to_acp(config: MCPServerConfig) -> McpServer | None:
|
|
266
266
|
"""Convert native MCPServerConfig to ACP McpServer format.
|
|
267
267
|
|
|
268
|
+
If the config has tool filtering (enabled_tools or disabled_tools),
|
|
269
|
+
the server is wrapped with mcp-filter proxy to apply the filtering.
|
|
270
|
+
|
|
268
271
|
Args:
|
|
269
272
|
config: agentpool MCP server configuration
|
|
270
273
|
|
|
@@ -279,19 +282,27 @@ def mcp_config_to_acp(config: MCPServerConfig) -> McpServer | None:
|
|
|
279
282
|
StreamableHTTPMCPServerConfig,
|
|
280
283
|
)
|
|
281
284
|
|
|
285
|
+
# If filtering is configured, wrap with mcp-filter first
|
|
286
|
+
if config.needs_tool_filtering():
|
|
287
|
+
config = config.wrap_with_mcp_filter()
|
|
288
|
+
|
|
282
289
|
match config:
|
|
283
290
|
case StdioMCPServerConfig(command=command, args=args):
|
|
284
291
|
env_vars = config.get_env_vars() if hasattr(config, "get_env_vars") else {}
|
|
292
|
+
env_list = [EnvVariable(name=k, value=v) for k, v in env_vars.items()]
|
|
285
293
|
return StdioMcpServer(
|
|
286
294
|
name=config.name or command,
|
|
287
295
|
command=command,
|
|
288
296
|
args=list(args) if args else [],
|
|
289
|
-
env=
|
|
297
|
+
env=env_list,
|
|
290
298
|
)
|
|
299
|
+
|
|
291
300
|
case SSEMCPServerConfig(url=url):
|
|
292
301
|
return SseMcpServer(name=config.name or str(url), url=url, headers=[])
|
|
302
|
+
|
|
293
303
|
case StreamableHTTPMCPServerConfig(url=url):
|
|
294
304
|
return HttpMcpServer(name=config.name or str(url), url=url, headers=[])
|
|
305
|
+
|
|
295
306
|
case _:
|
|
296
307
|
return None
|
|
297
308
|
|
|
@@ -224,6 +224,8 @@ class ACPClientHandler(Client):
|
|
|
224
224
|
|
|
225
225
|
if self._input_provider:
|
|
226
226
|
ctx = self._agent.get_context() # Use the agent's NodeContext
|
|
227
|
+
# Attach tool_call_id for permission event matching in TUI
|
|
228
|
+
ctx.tool_call_id = params.tool_call.tool_call_id
|
|
227
229
|
# Create a dummy tool representation from ACP params
|
|
228
230
|
tool = Tool(callable=lambda: None, name=params.tool_call.tool_call_id, description=name)
|
|
229
231
|
# Extract arguments - ACP doesn't expose them in ToolCall
|
|
@@ -222,7 +222,7 @@ class Agent[TDeps = None, OutputDataT = str](BaseAgent[TDeps, OutputDataT]):
|
|
|
222
222
|
builtin_tools: PydanticAI builtin tools (WebSearchTool, CodeExecutionTool, etc.)
|
|
223
223
|
usage_limits: Usage limits for the agent
|
|
224
224
|
providers: Model providers for model discovery (e.g., ["openai", "anthropic"]).
|
|
225
|
-
Defaults to ["
|
|
225
|
+
Defaults to ["models.dev"] if not specified.
|
|
226
226
|
commands: Slash commands
|
|
227
227
|
"""
|
|
228
228
|
from agentpool.agents.interactions import Interactions
|
|
@@ -1302,10 +1302,11 @@ class Agent[TDeps = None, OutputDataT = str](BaseAgent[TDeps, OutputDataT]):
|
|
|
1302
1302
|
|
|
1303
1303
|
from tokonomics.model_discovery import get_all_models
|
|
1304
1304
|
|
|
1305
|
-
providers = self._providers or ["openai", "anthropic", "gemini"]
|
|
1306
1305
|
try:
|
|
1307
1306
|
max_age = timedelta(days=200)
|
|
1308
|
-
return await get_all_models(
|
|
1307
|
+
return await get_all_models(
|
|
1308
|
+
providers=self._providers or ["models.dev"], max_age=max_age
|
|
1309
|
+
)
|
|
1309
1310
|
except Exception:
|
|
1310
1311
|
self.log.exception("Failed to discover models")
|
|
1311
1312
|
return None
|
|
@@ -36,6 +36,7 @@ from agentpool.messaging import ChatMessage
|
|
|
36
36
|
from agentpool.messaging.processing import prepare_prompts
|
|
37
37
|
from agentpool.tools import ToolManager
|
|
38
38
|
from agentpool.utils.streams import FileTracker
|
|
39
|
+
from agentpool.utils.token_breakdown import calculate_usage_from_parts
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
if TYPE_CHECKING:
|
|
@@ -627,6 +628,16 @@ class AGUIAgent[TDeps = None](BaseAgent[TDeps, str]):
|
|
|
627
628
|
break
|
|
628
629
|
|
|
629
630
|
text_content = "".join(text_chunks)
|
|
631
|
+
|
|
632
|
+
# Calculate approximate token usage from what we can observe
|
|
633
|
+
input_parts = [*processed_prompts, *pending_parts]
|
|
634
|
+
usage, cost_info = await calculate_usage_from_parts(
|
|
635
|
+
input_parts=input_parts,
|
|
636
|
+
response_parts=current_response_parts,
|
|
637
|
+
text_content=text_content,
|
|
638
|
+
model_name=self.model_name,
|
|
639
|
+
)
|
|
640
|
+
|
|
630
641
|
final_message = ChatMessage[str](
|
|
631
642
|
content=text_content,
|
|
632
643
|
role="assistant",
|
|
@@ -636,6 +647,8 @@ class AGUIAgent[TDeps = None](BaseAgent[TDeps, str]):
|
|
|
636
647
|
parent_id=user_msg.message_id,
|
|
637
648
|
messages=model_messages,
|
|
638
649
|
metadata=file_tracker.get_metadata(),
|
|
650
|
+
usage=usage,
|
|
651
|
+
cost_info=cost_info,
|
|
639
652
|
)
|
|
640
653
|
complete_event = StreamCompleteEvent(message=final_message)
|
|
641
654
|
await self.event_handler(None, complete_event)
|
|
@@ -28,7 +28,11 @@ if TYPE_CHECKING:
|
|
|
28
28
|
from agentpool.agents.context import AgentContext
|
|
29
29
|
from agentpool.agents.events import RichAgentStreamEvent
|
|
30
30
|
from agentpool.agents.modes import ModeCategory, ModeInfo
|
|
31
|
-
from agentpool.common_types import
|
|
31
|
+
from agentpool.common_types import (
|
|
32
|
+
BuiltinEventHandlerType,
|
|
33
|
+
IndividualEventHandler,
|
|
34
|
+
MCPServerStatus,
|
|
35
|
+
)
|
|
32
36
|
from agentpool.delegation import AgentPool
|
|
33
37
|
from agentpool.talk.stats import MessageStats
|
|
34
38
|
from agentpool.ui.base import InputProvider
|
|
@@ -127,9 +131,15 @@ class BaseAgent[TDeps = None, TResult = str](MessageNode[TDeps, TResult]):
|
|
|
127
131
|
# Command store for slash commands
|
|
128
132
|
from slashed import CommandStore
|
|
129
133
|
|
|
134
|
+
from agentpool_commands import get_commands
|
|
135
|
+
|
|
130
136
|
self._command_store: CommandStore = CommandStore()
|
|
131
137
|
|
|
132
|
-
# Register
|
|
138
|
+
# Register default agent commands
|
|
139
|
+
for command in get_commands():
|
|
140
|
+
self._command_store.register_command(command)
|
|
141
|
+
|
|
142
|
+
# Register additional provided commands
|
|
133
143
|
if commands:
|
|
134
144
|
for command in commands:
|
|
135
145
|
self._command_store.register_command(command)
|
|
@@ -222,6 +232,56 @@ class BaseAgent[TDeps = None, TResult = str](MessageNode[TDeps, TResult]):
|
|
|
222
232
|
|
|
223
233
|
return MessageStats(messages=list(self.conversation.chat_messages))
|
|
224
234
|
|
|
235
|
+
def get_mcp_server_info(self) -> dict[str, MCPServerStatus]:
|
|
236
|
+
"""Get information about configured MCP servers.
|
|
237
|
+
|
|
238
|
+
Returns a dict mapping server names to their status info. Used by
|
|
239
|
+
the OpenCode /mcp endpoint to display MCP servers in the UI.
|
|
240
|
+
|
|
241
|
+
The default implementation checks external_providers on the tool manager.
|
|
242
|
+
Subclasses may override to provide agent-specific MCP server info
|
|
243
|
+
(e.g., ClaudeCodeAgent has its own MCP server handling).
|
|
244
|
+
|
|
245
|
+
Returns:
|
|
246
|
+
Dict mapping server name to MCPServerStatus
|
|
247
|
+
"""
|
|
248
|
+
from agentpool.common_types import MCPServerStatus
|
|
249
|
+
from agentpool.mcp_server.manager import MCPManager
|
|
250
|
+
from agentpool.resource_providers import AggregatingResourceProvider
|
|
251
|
+
from agentpool.resource_providers.mcp_provider import MCPResourceProvider
|
|
252
|
+
|
|
253
|
+
def add_status(provider: MCPResourceProvider, result: dict[str, MCPServerStatus]) -> None:
|
|
254
|
+
status_dict = provider.get_status()
|
|
255
|
+
status_type = status_dict.get("status", "disabled")
|
|
256
|
+
if status_type == "connected":
|
|
257
|
+
result[provider.name] = MCPServerStatus(
|
|
258
|
+
name=provider.name, status="connected", server_type="stdio"
|
|
259
|
+
)
|
|
260
|
+
elif status_type == "failed":
|
|
261
|
+
error = status_dict.get("error", "Unknown error")
|
|
262
|
+
result[provider.name] = MCPServerStatus(
|
|
263
|
+
name=provider.name, status="error", error=error
|
|
264
|
+
)
|
|
265
|
+
else:
|
|
266
|
+
result[provider.name] = MCPServerStatus(name=provider.name, status="disconnected")
|
|
267
|
+
|
|
268
|
+
result: dict[str, MCPServerStatus] = {}
|
|
269
|
+
try:
|
|
270
|
+
for provider in self.tools.external_providers:
|
|
271
|
+
if isinstance(provider, MCPResourceProvider):
|
|
272
|
+
add_status(provider, result)
|
|
273
|
+
elif isinstance(provider, AggregatingResourceProvider):
|
|
274
|
+
for nested in provider.providers:
|
|
275
|
+
if isinstance(nested, MCPResourceProvider):
|
|
276
|
+
add_status(nested, result)
|
|
277
|
+
elif isinstance(provider, MCPManager):
|
|
278
|
+
for mcp_provider in provider.get_mcp_providers():
|
|
279
|
+
add_status(mcp_provider, result)
|
|
280
|
+
except Exception: # noqa: BLE001
|
|
281
|
+
pass
|
|
282
|
+
|
|
283
|
+
return result
|
|
284
|
+
|
|
225
285
|
@abstractmethod
|
|
226
286
|
async def get_available_models(self) -> list[ModelInfo] | None:
|
|
227
287
|
"""Get available models for this agent.
|