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.
Files changed (536) hide show
  1. {agentpool-2.2.0 → agentpool-2.2.2}/PKG-INFO +2 -1
  2. {agentpool-2.2.0 → agentpool-2.2.2}/pyproject.toml +4 -3
  3. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/stdio.py +39 -9
  4. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/transports.py +48 -0
  5. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/utils.py +13 -0
  6. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/acp_agent.py +14 -0
  7. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/acp_converters.py +12 -1
  8. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/client_handler.py +2 -0
  9. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agent.py +4 -3
  10. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/agui_agent.py +13 -0
  11. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/base_agent.py +62 -2
  12. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/claude_code_agent.py +96 -31
  13. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/converters.py +1 -1
  14. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/__init__.py +2 -0
  15. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/events.py +20 -0
  16. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/common_types.py +21 -0
  17. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/pool.py +6 -0
  18. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/lsp_manager.py +153 -110
  19. agentpool-2.2.2/src/agentpool/diagnostics/lsp_proxy.py +41 -0
  20. agentpool-2.2.2/src/agentpool/diagnostics/lsp_proxy_script.py +229 -0
  21. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/models.py +2 -2
  22. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/__init__.py +0 -2
  23. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/client.py +12 -3
  24. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/tool_bridge.py +61 -56
  25. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/messages.py +14 -6
  26. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/mcp_capable.py +1 -116
  27. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/non_mcp.py +116 -0
  28. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/agents.py +2 -2
  29. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/repomap.py +1 -1
  30. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/__init__.py +9 -1
  31. agentpool-2.2.2/src/agentpool/resource_providers/aggregating.py +103 -0
  32. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/base.py +57 -1
  33. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/mcp_provider.py +8 -0
  34. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/plan_provider.py +2 -0
  35. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/pool.py +2 -0
  36. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/static.py +2 -0
  37. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/registry.py +13 -8
  38. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/manager.py +82 -1
  39. agentpool-2.2.2/src/agentpool/utils/file_watcher.py +269 -0
  40. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/streams.py +48 -9
  41. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/token_breakdown.py +72 -8
  42. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/__init__.py +30 -0
  43. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/agents.py +74 -1
  44. agentpool-2.2.2/src/agentpool_commands/history.py +62 -0
  45. agentpool-2.2.2/src/agentpool_commands/mcp.py +176 -0
  46. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/tools.py +57 -0
  47. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/utils.py +51 -0
  48. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/mcp_server.py +131 -1
  49. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/toolsets.py +1 -147
  50. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/session.py +20 -0
  51. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/ENDPOINTS.md +108 -25
  52. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/converters.py +112 -33
  53. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/input_provider.py +15 -18
  54. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/__init__.py +12 -0
  55. agentpool-2.2.2/src/agentpool_server/opencode_server/models/events.py +647 -0
  56. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/file.py +24 -1
  57. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/message.py +1 -1
  58. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/parts.py +1 -1
  59. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/session.py +17 -0
  60. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/__init__.py +4 -0
  61. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/agent_routes.py +33 -64
  62. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/app_routes.py +6 -1
  63. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/file_routes.py +15 -20
  64. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/global_routes.py +10 -0
  65. agentpool-2.2.2/src/agentpool_server/opencode_server/routes/lsp_routes.py +202 -0
  66. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/message_routes.py +150 -114
  67. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/pty_routes.py +35 -6
  68. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/session_routes.py +202 -375
  69. agentpool-2.2.2/src/agentpool_server/opencode_server/routes/tui_routes.py +139 -0
  70. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/server.py +155 -4
  71. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/state.py +38 -0
  72. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/base.py +18 -0
  73. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/file_provider.py +14 -0
  74. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/memory_provider.py +9 -0
  75. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/sql_provider.py +21 -0
  76. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/__init__.py +0 -8
  77. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/debug.py +1 -19
  78. agentpool-2.2.2/src/agentpool_toolsets/builtin/skills.py +159 -0
  79. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/toolset.py +4 -4
  80. agentpool-2.2.2/src/agentpool_toolsets/mcp_run_toolset.py +139 -0
  81. agentpool-2.2.0/src/agentpool/diagnostics/lsp_proxy.py +0 -273
  82. agentpool-2.2.0/src/agentpool/resource_providers/aggregating.py +0 -54
  83. agentpool-2.2.0/src/agentpool_server/opencode_server/models/events.py +0 -162
  84. agentpool-2.2.0/src/agentpool_toolsets/builtin/agent_management.py +0 -239
  85. agentpool-2.2.0/src/agentpool_toolsets/builtin/history.py +0 -36
  86. agentpool-2.2.0/src/agentpool_toolsets/builtin/integration.py +0 -85
  87. agentpool-2.2.0/src/agentpool_toolsets/builtin/skills.py +0 -77
  88. agentpool-2.2.0/src/agentpool_toolsets/builtin/tool_management.py +0 -90
  89. agentpool-2.2.0/src/agentpool_toolsets/mcp_run_toolset.py +0 -61
  90. {agentpool-2.2.0 → agentpool-2.2.2}/LICENSE +0 -0
  91. {agentpool-2.2.0 → agentpool-2.2.2}/README.md +0 -0
  92. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/README.md +0 -0
  93. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/__init__.py +0 -0
  94. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/__main__.py +0 -0
  95. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/acp_requests.py +0 -0
  96. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/__init__.py +0 -0
  97. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/connection.py +0 -0
  98. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/__init__.py +0 -0
  99. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/__init__.py +0 -0
  100. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/cli.py +0 -0
  101. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/debug.html +0 -0
  102. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/debug_server/debug_server.py +0 -0
  103. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/implementations/testing.py +0 -0
  104. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/agent/protocol.py +0 -0
  105. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/README.md +0 -0
  106. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/__init__.py +0 -0
  107. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/__main__.py +0 -0
  108. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/bridge.py +0 -0
  109. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/py.typed +0 -0
  110. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/settings.py +0 -0
  111. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/ws_server.py +0 -0
  112. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/bridge/ws_server_cli.py +0 -0
  113. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/__init__.py +0 -0
  114. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/connection.py +0 -0
  115. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/__init__.py +0 -0
  116. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/default_client.py +0 -0
  117. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/headless_client.py +0 -0
  118. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/implementations/noop_client.py +0 -0
  119. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/client/protocol.py +0 -0
  120. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/connection.py +0 -0
  121. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/exceptions.py +0 -0
  122. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/filesystem.py +0 -0
  123. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/notifications.py +0 -0
  124. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/py.typed +0 -0
  125. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/__init__.py +0 -0
  126. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_plan.py +0 -0
  127. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_requests.py +0 -0
  128. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/agent_responses.py +0 -0
  129. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/base.py +0 -0
  130. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/capabilities.py +0 -0
  131. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/client_requests.py +0 -0
  132. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/client_responses.py +0 -0
  133. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/common.py +0 -0
  134. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/content_blocks.py +0 -0
  135. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/mcp.py +0 -0
  136. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/messages.py +0 -0
  137. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/notifications.py +0 -0
  138. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/protocol_stuff.md +0 -0
  139. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/session_state.py +0 -0
  140. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/session_updates.py +0 -0
  141. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/slash_commands.py +0 -0
  142. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/terminal.py +0 -0
  143. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/schema/tool_call.py +0 -0
  144. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/__init__.py +0 -0
  145. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/debug.py +0 -0
  146. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/dispatcher.py +0 -0
  147. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/queue.py +0 -0
  148. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/sender.py +0 -0
  149. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/state.py +0 -0
  150. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/task/supervisor.py +0 -0
  151. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/terminal_handle.py +0 -0
  152. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/tool_call_reporter.py +0 -0
  153. {agentpool-2.2.0 → agentpool-2.2.2}/src/acp/tool_call_state.py +0 -0
  154. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/__init__.py +0 -0
  155. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/__main__.py +0 -0
  156. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/__init__.py +0 -0
  157. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/__init__.py +0 -0
  158. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/acp_agent/session_state.py +0 -0
  159. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/__init__.py +0 -0
  160. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/agui_converters.py +0 -0
  161. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/chunk_transformer.py +0 -0
  162. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/event_types.py +0 -0
  163. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/agui_agent/helpers.py +0 -0
  164. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/architect.py +0 -0
  165. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/__init__.py +0 -0
  166. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/claude_code_agent/history.py +0 -0
  167. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/context.py +0 -0
  168. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/builtin_handlers.py +0 -0
  169. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/event_emitter.py +0 -0
  170. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/events/tts_handlers.py +0 -0
  171. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/interactions.py +0 -0
  172. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/modes.py +0 -0
  173. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/slashed_agent.py +0 -0
  174. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/sys_prompts.py +0 -0
  175. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/tool_call_accumulator.py +0 -0
  176. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/agents/tool_wrapping.py +0 -0
  177. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/base_provider.py +0 -0
  178. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/__init__.py +0 -0
  179. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/acp_assistant.yml +0 -0
  180. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agents.yml +0 -0
  181. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agents_template.yml +0 -0
  182. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/agui_test.yml +0 -0
  183. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/claude_code_agent.yml +0 -0
  184. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/claude_style_subagent.md +0 -0
  185. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/external_acp_agents.yml +0 -0
  186. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/opencode_style_subagent.md +0 -0
  187. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/config_resources/tts_test_agents.yml +0 -0
  188. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/__init__.py +0 -0
  189. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/base_team.py +0 -0
  190. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/message_flow_tracker.py +0 -0
  191. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/team.py +0 -0
  192. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/delegation/teamrun.py +0 -0
  193. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/diagnostics/__init__.py +0 -0
  194. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/__init__.py +0 -0
  195. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/gen_examples.py +0 -0
  196. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/docs/utils.py +0 -0
  197. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/__init__.py +0 -0
  198. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/py.typed +0 -0
  199. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/run.py +0 -0
  200. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/functional/structure.py +0 -0
  201. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/__init__.py +0 -0
  202. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/agent_hooks.py +0 -0
  203. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/base.py +0 -0
  204. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/callable.py +0 -0
  205. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/command.py +0 -0
  206. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/hooks/prompt.py +0 -0
  207. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/jinja_filters.py +0 -0
  208. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/log.py +0 -0
  209. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/constants.py +0 -0
  210. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/conversions.py +0 -0
  211. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/helpers.py +0 -0
  212. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/manager.py +0 -0
  213. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/message_handler.py +0 -0
  214. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/__init__.py +0 -0
  215. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/official_registry_client.py +0 -0
  216. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mcp_server/registries/pulsemcp_client.py +0 -0
  217. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/__init__.py +0 -0
  218. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/compaction.py +0 -0
  219. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/connection_manager.py +0 -0
  220. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/context.py +0 -0
  221. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/event_manager.py +0 -0
  222. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/events.py +0 -0
  223. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/message_container.py +0 -0
  224. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/message_history.py +0 -0
  225. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/messagenode.py +0 -0
  226. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/messaging/processing.py +0 -0
  227. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/mime_utils.py +0 -0
  228. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/__init__.py +0 -0
  229. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/__init__.py +0 -0
  230. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/acp_agents/base.py +0 -0
  231. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/agui_agents.py +0 -0
  232. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/claude_code_agents.py +0 -0
  233. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/file_agents.py +0 -0
  234. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/file_parsing.py +0 -0
  235. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/models/manifest.py +0 -0
  236. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/observability/__init__.py +0 -0
  237. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/observability/observability_registry.py +0 -0
  238. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/__init__.py +0 -0
  239. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/base.py +0 -0
  240. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/builtin_provider.py +0 -0
  241. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/conversion_manager.py +0 -0
  242. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/convert.py +0 -0
  243. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/manager.py +0 -0
  244. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/parts/zed.md +0 -0
  245. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/prompts/prompts.py +0 -0
  246. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/py.typed +0 -0
  247. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/README.md +0 -0
  248. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  249. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  250. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  251. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  252. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  253. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  254. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  255. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  256. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  257. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  258. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  259. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  260. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  261. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  262. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  263. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  264. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  265. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  266. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  267. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  268. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  269. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  270. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  271. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  272. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  273. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  274. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  275. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  276. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  277. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  278. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/README.md +0 -0
  279. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/c-tags.scm +0 -0
  280. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  281. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  282. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/dart-tags.scm +0 -0
  283. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  284. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  285. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/elm-tags.scm +0 -0
  286. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  287. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/go-tags.scm +0 -0
  288. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  289. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  290. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/java-tags.scm +0 -0
  291. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  292. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/julia-tags.scm +0 -0
  293. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  294. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  295. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  296. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  297. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/php-tags.scm +0 -0
  298. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/python-tags.scm +0 -0
  299. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ql-tags.scm +0 -0
  300. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  301. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/rust-tags.scm +0 -0
  302. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/scala-tags.scm +0 -0
  303. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  304. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/queries/tree-sitter-languages/zig-tags.scm +0 -0
  305. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/__init__.py +0 -0
  306. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/code_executor.py +0 -0
  307. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/default_prompt.py +0 -0
  308. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/helpers.py +0 -0
  309. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/progress_executor.py +0 -0
  310. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/provider.py +0 -0
  311. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/remote_mcp_execution.py +0 -0
  312. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/codemode/remote_provider.py +0 -0
  313. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/resource_providers/filtering.py +0 -0
  314. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/__init__.py +0 -0
  315. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/decorators.py +0 -0
  316. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/discovery.py +0 -0
  317. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/executor.py +0 -0
  318. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/injection.py +0 -0
  319. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/py.typed +0 -0
  320. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/running/run_nodes.py +0 -0
  321. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/server.py +0 -0
  322. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/__init__.py +0 -0
  323. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/manager.py +0 -0
  324. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/models.py +0 -0
  325. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/session.py +0 -0
  326. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/sessions/store.py +0 -0
  327. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/__init__.py +0 -0
  328. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/manager.py +0 -0
  329. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/skills/skill.py +0 -0
  330. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/__init__.py +0 -0
  331. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/storage/serialization.py +0 -0
  332. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/__init__.py +0 -0
  333. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/registry.py +0 -0
  334. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/stats.py +0 -0
  335. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/talk/talk.py +0 -0
  336. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/__init__.py +0 -0
  337. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/exceptions.py +0 -0
  338. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tasks/registry.py +0 -0
  339. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/testing.py +0 -0
  340. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/__init__.py +0 -0
  341. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/system_prompt.jinja +0 -0
  342. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_default.jinja +0 -0
  343. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_markdown.jinja +0 -0
  344. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/text_templates/tool_call_simple.jinja +0 -0
  345. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/__init__.py +0 -0
  346. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/base.py +0 -0
  347. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/exceptions.py +0 -0
  348. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/manager.py +0 -0
  349. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/tools/tool_call_info.py +0 -0
  350. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/__init__.py +0 -0
  351. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/base.py +0 -0
  352. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/mock_provider.py +0 -0
  353. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/ui/stdlib_provider.py +0 -0
  354. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/__init__.py +0 -0
  355. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/baseregistry.py +0 -0
  356. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/count_tokens.py +0 -0
  357. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/dag.py +0 -0
  358. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/identifiers.py +0 -0
  359. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/importing.py +0 -0
  360. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/inspection.py +0 -0
  361. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/model_capabilities.py +0 -0
  362. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/network.py +0 -0
  363. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/now.py +0 -0
  364. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/parse_time.py +0 -0
  365. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/pydantic_ai_helpers.py +0 -0
  366. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/result_utils.py +0 -0
  367. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/signatures.py +0 -0
  368. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/subprocess_utils.py +0 -0
  369. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/utils/tasks.py +0 -0
  370. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool/vfs_registry.py +0 -0
  371. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/__init__.py +0 -0
  372. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/__main__.py +0 -0
  373. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/agent.py +0 -0
  374. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/cli_types.py +0 -0
  375. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/common.py +0 -0
  376. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/create.py +0 -0
  377. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/history.py +0 -0
  378. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/log.py +0 -0
  379. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/py.typed +0 -0
  380. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/run.py +0 -0
  381. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_acp.py +0 -0
  382. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_agui.py +0 -0
  383. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_api.py +0 -0
  384. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_mcp.py +0 -0
  385. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_opencode.py +0 -0
  386. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/serve_vercel.py +0 -0
  387. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/store.py +0 -0
  388. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/task.py +0 -0
  389. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/utils.py +0 -0
  390. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_cli/watch.py +0 -0
  391. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/base.py +0 -0
  392. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/commands.py +0 -0
  393. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/completers.py +0 -0
  394. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/connections.py +0 -0
  395. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/markdown_utils.py +0 -0
  396. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/models.py +0 -0
  397. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/prompts.py +0 -0
  398. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/py.typed +0 -0
  399. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/read.py +0 -0
  400. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/resources.py +0 -0
  401. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/session.py +0 -0
  402. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_commands/workers.py +0 -0
  403. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/__init__.py +0 -0
  404. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/builtin_tools.py +0 -0
  405. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/commands.py +0 -0
  406. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/compaction.py +0 -0
  407. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/conditions.py +0 -0
  408. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/converters.py +0 -0
  409. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/durable.py +0 -0
  410. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/event_handlers.py +0 -0
  411. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/events.py +0 -0
  412. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/forward_targets.py +0 -0
  413. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/hook_conditions.py +0 -0
  414. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/hooks.py +0 -0
  415. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/jinja.py +0 -0
  416. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/knowledge.py +0 -0
  417. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/loaders.py +0 -0
  418. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/nodes.py +0 -0
  419. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/observability.py +0 -0
  420. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/output_types.py +0 -0
  421. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/pool_server.py +0 -0
  422. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/prompt_hubs.py +0 -0
  423. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/prompts.py +0 -0
  424. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/py.typed +0 -0
  425. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/resources.py +0 -0
  426. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/session.py +0 -0
  427. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/skills.py +0 -0
  428. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/storage.py +0 -0
  429. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/system_prompts.py +0 -0
  430. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/task.py +0 -0
  431. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/teams.py +0 -0
  432. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/tools.py +0 -0
  433. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_config/workers.py +0 -0
  434. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/__init__.py +0 -0
  435. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/braintrust_hub.py +0 -0
  436. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/fabric.py +0 -0
  437. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/langfuse_hub.py +0 -0
  438. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/promptlayer_provider.py +0 -0
  439. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_prompts/py.typed +0 -0
  440. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/__init__.py +0 -0
  441. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/__init__.py +0 -0
  442. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/a2a_types.py +0 -0
  443. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/server.py +0 -0
  444. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/a2a_server/storage.py +0 -0
  445. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/__init__.py +0 -0
  446. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/acp_agent.py +0 -0
  447. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/acp_tools.py +0 -0
  448. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/__init__.py +0 -0
  449. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/acp_commands.py +0 -0
  450. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/debug_commands.py +0 -0
  451. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/__init__.py +0 -0
  452. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/fetch_repo.py +0 -0
  453. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/get_schema.py +0 -0
  454. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/get_source.py +0 -0
  455. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/git_diff.py +0 -0
  456. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/helpers.py +0 -0
  457. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/docs_commands/url_to_markdown.py +0 -0
  458. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/commands/spawn.py +0 -0
  459. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/converters.py +0 -0
  460. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/input_provider.py +0 -0
  461. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/server.py +0 -0
  462. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/session_manager.py +0 -0
  463. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/syntax_detection.py +0 -0
  464. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/acp_server/zed_tools.md +0 -0
  465. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/aggregating_server.py +0 -0
  466. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/agui_server/__init__.py +0 -0
  467. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/agui_server/server.py +0 -0
  468. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/base.py +0 -0
  469. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/http_server.py +0 -0
  470. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/__init__.py +0 -0
  471. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/server.py +0 -0
  472. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/mcp_server/zed_wrapper.py +0 -0
  473. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/__init__.py +0 -0
  474. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/__init__.py +0 -0
  475. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/helpers.py +0 -0
  476. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/completions/models.py +0 -0
  477. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/__init__.py +0 -0
  478. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/helpers.py +0 -0
  479. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/responses/models.py +0 -0
  480. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/openai_api_server/server.py +0 -0
  481. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/.rules +0 -0
  482. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/__init__.py +0 -0
  483. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/command_validation.py +0 -0
  484. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/dependencies.py +0 -0
  485. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/agent.py +0 -0
  486. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/app.py +0 -0
  487. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/base.py +0 -0
  488. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/common.py +0 -0
  489. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/config.py +0 -0
  490. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/mcp.py +0 -0
  491. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/provider.py +0 -0
  492. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/models/pty.py +0 -0
  493. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/routes/config_routes.py +0 -0
  494. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/opencode_server/time_utils.py +0 -0
  495. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_server/py.typed +0 -0
  496. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/__init__.py +0 -0
  497. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/formatters.py +0 -0
  498. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/models.py +0 -0
  499. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/py.typed +0 -0
  500. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/session_store.py +0 -0
  501. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/__init__.py +0 -0
  502. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/cli.py +0 -0
  503. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/models.py +0 -0
  504. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/queries.py +0 -0
  505. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/sql_provider/utils.py +0 -0
  506. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_storage/text_log_provider.py +0 -0
  507. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/__init__.py +0 -0
  508. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/chain.py +0 -0
  509. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/code.py +0 -0
  510. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/execution_environment.py +0 -0
  511. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/__init__.py +0 -0
  512. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/file_edit.py +0 -0
  513. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/__init__.py +0 -0
  514. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/example_usage.py +0 -0
  515. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/file_edit/fuzzy_matcher/streaming_fuzzy_matcher.py +0 -0
  516. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/subagent_tools.py +0 -0
  517. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/user_interaction.py +0 -0
  518. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/builtin/workers.py +0 -0
  519. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/composio_toolset.py +0 -0
  520. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/config_creation.py +0 -0
  521. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/entry_points.py +0 -0
  522. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/__init__.py +0 -0
  523. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/diagnostics.py +0 -0
  524. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/grep.py +0 -0
  525. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/helpers.py +0 -0
  526. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/fsspec_toolset/streaming_diff_parser.py +0 -0
  527. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/__init__.py +0 -0
  528. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/data/mcp_servers.parquet +0 -0
  529. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/mcp_discovery/toolset.py +0 -0
  530. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/notifications.py +0 -0
  531. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/openapi.py +0 -0
  532. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/py.typed +0 -0
  533. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/search_toolset.py +0 -0
  534. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/semantic_memory_toolset.py +0 -0
  535. {agentpool-2.2.0 → agentpool-2.2.2}/src/agentpool_toolsets/streaming_tools.py +0 -0
  536. {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.0
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.0"
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 acp_cli_snapshot"]
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
- "acp_cli_snapshot: marks tests as ACP CLI snapshot tests (excluded by default)",
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
- **transport_kwargs: Any,
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
- async with spawn_stdio_transport(command, *args, env=env, cwd=cwd, **transport_kwargs) as (
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
- transport_kwargs: Mapping[str, Any] | None = None,
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
- **(dict(transport_kwargs) if transport_kwargs else {}),
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
- transport_kwargs: Mapping[str, Any] | None = None,
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
- **(dict(transport_kwargs) if transport_kwargs else {}),
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=[EnvVariable(name=k, value=v) for k, v in env_vars.items()],
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 ["openai", "anthropic", "gemini"] if not specified.
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(providers=providers, max_age=max_age)
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 BuiltinEventHandlerType, IndividualEventHandler
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 provided commands
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.