agentpool 2.1.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of agentpool might be problematic. Click here for more details.
- acp/README.md +64 -0
- acp/__init__.py +172 -0
- acp/__main__.py +10 -0
- acp/acp_requests.py +285 -0
- acp/agent/__init__.py +6 -0
- acp/agent/connection.py +256 -0
- acp/agent/implementations/__init__.py +6 -0
- acp/agent/implementations/debug_server/__init__.py +1 -0
- acp/agent/implementations/debug_server/cli.py +79 -0
- acp/agent/implementations/debug_server/debug.html +234 -0
- acp/agent/implementations/debug_server/debug_server.py +496 -0
- acp/agent/implementations/testing.py +91 -0
- acp/agent/protocol.py +65 -0
- acp/bridge/README.md +162 -0
- acp/bridge/__init__.py +6 -0
- acp/bridge/__main__.py +91 -0
- acp/bridge/bridge.py +246 -0
- acp/bridge/py.typed +0 -0
- acp/bridge/settings.py +15 -0
- acp/client/__init__.py +7 -0
- acp/client/connection.py +251 -0
- acp/client/implementations/__init__.py +7 -0
- acp/client/implementations/default_client.py +185 -0
- acp/client/implementations/headless_client.py +266 -0
- acp/client/implementations/noop_client.py +110 -0
- acp/client/protocol.py +61 -0
- acp/connection.py +280 -0
- acp/exceptions.py +46 -0
- acp/filesystem.py +524 -0
- acp/notifications.py +832 -0
- acp/py.typed +0 -0
- acp/schema/__init__.py +265 -0
- acp/schema/agent_plan.py +30 -0
- acp/schema/agent_requests.py +126 -0
- acp/schema/agent_responses.py +256 -0
- acp/schema/base.py +39 -0
- acp/schema/capabilities.py +230 -0
- acp/schema/client_requests.py +247 -0
- acp/schema/client_responses.py +96 -0
- acp/schema/common.py +81 -0
- acp/schema/content_blocks.py +188 -0
- acp/schema/mcp.py +82 -0
- acp/schema/messages.py +171 -0
- acp/schema/notifications.py +82 -0
- acp/schema/protocol_stuff.md +3 -0
- acp/schema/session_state.py +160 -0
- acp/schema/session_updates.py +419 -0
- acp/schema/slash_commands.py +51 -0
- acp/schema/terminal.py +15 -0
- acp/schema/tool_call.py +347 -0
- acp/stdio.py +250 -0
- acp/task/__init__.py +53 -0
- acp/task/debug.py +197 -0
- acp/task/dispatcher.py +93 -0
- acp/task/queue.py +69 -0
- acp/task/sender.py +82 -0
- acp/task/state.py +87 -0
- acp/task/supervisor.py +93 -0
- acp/terminal_handle.py +30 -0
- acp/tool_call_reporter.py +199 -0
- acp/tool_call_state.py +178 -0
- acp/transports.py +104 -0
- acp/utils.py +240 -0
- agentpool/__init__.py +63 -0
- agentpool/__main__.py +7 -0
- agentpool/agents/__init__.py +30 -0
- agentpool/agents/acp_agent/__init__.py +5 -0
- agentpool/agents/acp_agent/acp_agent.py +837 -0
- agentpool/agents/acp_agent/acp_converters.py +294 -0
- agentpool/agents/acp_agent/client_handler.py +317 -0
- agentpool/agents/acp_agent/session_state.py +44 -0
- agentpool/agents/agent.py +1264 -0
- agentpool/agents/agui_agent/__init__.py +19 -0
- agentpool/agents/agui_agent/agui_agent.py +677 -0
- agentpool/agents/agui_agent/agui_converters.py +423 -0
- agentpool/agents/agui_agent/chunk_transformer.py +204 -0
- agentpool/agents/agui_agent/event_types.py +83 -0
- agentpool/agents/agui_agent/helpers.py +192 -0
- agentpool/agents/architect.py +71 -0
- agentpool/agents/base_agent.py +177 -0
- agentpool/agents/claude_code_agent/__init__.py +11 -0
- agentpool/agents/claude_code_agent/claude_code_agent.py +1021 -0
- agentpool/agents/claude_code_agent/converters.py +243 -0
- agentpool/agents/context.py +105 -0
- agentpool/agents/events/__init__.py +61 -0
- agentpool/agents/events/builtin_handlers.py +129 -0
- agentpool/agents/events/event_emitter.py +320 -0
- agentpool/agents/events/events.py +561 -0
- agentpool/agents/events/tts_handlers.py +186 -0
- agentpool/agents/interactions.py +419 -0
- agentpool/agents/slashed_agent.py +244 -0
- agentpool/agents/sys_prompts.py +178 -0
- agentpool/agents/tool_wrapping.py +184 -0
- agentpool/base_provider.py +28 -0
- agentpool/common_types.py +226 -0
- agentpool/config_resources/__init__.py +16 -0
- agentpool/config_resources/acp_assistant.yml +24 -0
- agentpool/config_resources/agents.yml +109 -0
- agentpool/config_resources/agents_template.yml +18 -0
- agentpool/config_resources/agui_test.yml +18 -0
- agentpool/config_resources/claude_code_agent.yml +16 -0
- agentpool/config_resources/claude_style_subagent.md +30 -0
- agentpool/config_resources/external_acp_agents.yml +77 -0
- agentpool/config_resources/opencode_style_subagent.md +19 -0
- agentpool/config_resources/tts_test_agents.yml +78 -0
- agentpool/delegation/__init__.py +8 -0
- agentpool/delegation/base_team.py +504 -0
- agentpool/delegation/message_flow_tracker.py +39 -0
- agentpool/delegation/pool.py +1129 -0
- agentpool/delegation/team.py +325 -0
- agentpool/delegation/teamrun.py +343 -0
- agentpool/docs/__init__.py +5 -0
- agentpool/docs/gen_examples.py +42 -0
- agentpool/docs/utils.py +370 -0
- agentpool/functional/__init__.py +20 -0
- agentpool/functional/py.typed +0 -0
- agentpool/functional/run.py +80 -0
- agentpool/functional/structure.py +136 -0
- agentpool/hooks/__init__.py +20 -0
- agentpool/hooks/agent_hooks.py +247 -0
- agentpool/hooks/base.py +119 -0
- agentpool/hooks/callable.py +140 -0
- agentpool/hooks/command.py +180 -0
- agentpool/hooks/prompt.py +122 -0
- agentpool/jinja_filters.py +132 -0
- agentpool/log.py +224 -0
- agentpool/mcp_server/__init__.py +17 -0
- agentpool/mcp_server/client.py +429 -0
- agentpool/mcp_server/constants.py +32 -0
- agentpool/mcp_server/conversions.py +172 -0
- agentpool/mcp_server/helpers.py +47 -0
- agentpool/mcp_server/manager.py +232 -0
- agentpool/mcp_server/message_handler.py +164 -0
- agentpool/mcp_server/registries/__init__.py +1 -0
- agentpool/mcp_server/registries/official_registry_client.py +345 -0
- agentpool/mcp_server/registries/pulsemcp_client.py +88 -0
- agentpool/mcp_server/tool_bridge.py +548 -0
- agentpool/messaging/__init__.py +58 -0
- agentpool/messaging/compaction.py +928 -0
- agentpool/messaging/connection_manager.py +319 -0
- agentpool/messaging/context.py +66 -0
- agentpool/messaging/event_manager.py +426 -0
- agentpool/messaging/events.py +39 -0
- agentpool/messaging/message_container.py +209 -0
- agentpool/messaging/message_history.py +491 -0
- agentpool/messaging/messagenode.py +377 -0
- agentpool/messaging/messages.py +655 -0
- agentpool/messaging/processing.py +76 -0
- agentpool/mime_utils.py +95 -0
- agentpool/models/__init__.py +21 -0
- agentpool/models/acp_agents/__init__.py +22 -0
- agentpool/models/acp_agents/base.py +308 -0
- agentpool/models/acp_agents/mcp_capable.py +790 -0
- agentpool/models/acp_agents/non_mcp.py +842 -0
- agentpool/models/agents.py +450 -0
- agentpool/models/agui_agents.py +89 -0
- agentpool/models/claude_code_agents.py +238 -0
- agentpool/models/file_agents.py +116 -0
- agentpool/models/file_parsing.py +367 -0
- agentpool/models/manifest.py +658 -0
- agentpool/observability/__init__.py +9 -0
- agentpool/observability/observability_registry.py +97 -0
- agentpool/prompts/__init__.py +1 -0
- agentpool/prompts/base.py +27 -0
- agentpool/prompts/builtin_provider.py +75 -0
- agentpool/prompts/conversion_manager.py +95 -0
- agentpool/prompts/convert.py +96 -0
- agentpool/prompts/manager.py +204 -0
- agentpool/prompts/parts/zed.md +33 -0
- agentpool/prompts/prompts.py +581 -0
- agentpool/py.typed +0 -0
- agentpool/queries/tree-sitter-language-pack/README.md +7 -0
- agentpool/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- agentpool/queries/tree-sitter-language-pack/c-tags.scm +9 -0
- agentpool/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- agentpool/queries/tree-sitter-language-pack/clojure-tags.scm +7 -0
- agentpool/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
- agentpool/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
- agentpool/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
- agentpool/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- agentpool/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
- agentpool/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- agentpool/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
- agentpool/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
- agentpool/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- agentpool/queries/tree-sitter-language-pack/go-tags.scm +42 -0
- agentpool/queries/tree-sitter-language-pack/java-tags.scm +20 -0
- agentpool/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
- agentpool/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
- agentpool/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
- agentpool/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- agentpool/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
- agentpool/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- agentpool/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- agentpool/queries/tree-sitter-language-pack/python-tags.scm +14 -0
- agentpool/queries/tree-sitter-language-pack/r-tags.scm +21 -0
- agentpool/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- agentpool/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
- agentpool/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
- agentpool/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- agentpool/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
- agentpool/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- agentpool/queries/tree-sitter-languages/README.md +24 -0
- agentpool/queries/tree-sitter-languages/c-tags.scm +9 -0
- agentpool/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
- agentpool/queries/tree-sitter-languages/cpp-tags.scm +15 -0
- agentpool/queries/tree-sitter-languages/dart-tags.scm +91 -0
- agentpool/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- agentpool/queries/tree-sitter-languages/elixir-tags.scm +54 -0
- agentpool/queries/tree-sitter-languages/elm-tags.scm +19 -0
- agentpool/queries/tree-sitter-languages/fortran-tags.scm +15 -0
- agentpool/queries/tree-sitter-languages/go-tags.scm +30 -0
- agentpool/queries/tree-sitter-languages/haskell-tags.scm +3 -0
- agentpool/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- agentpool/queries/tree-sitter-languages/java-tags.scm +20 -0
- agentpool/queries/tree-sitter-languages/javascript-tags.scm +88 -0
- agentpool/queries/tree-sitter-languages/julia-tags.scm +60 -0
- agentpool/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- agentpool/queries/tree-sitter-languages/matlab-tags.scm +10 -0
- agentpool/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- agentpool/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
- agentpool/queries/tree-sitter-languages/php-tags.scm +26 -0
- agentpool/queries/tree-sitter-languages/python-tags.scm +12 -0
- agentpool/queries/tree-sitter-languages/ql-tags.scm +26 -0
- agentpool/queries/tree-sitter-languages/ruby-tags.scm +64 -0
- agentpool/queries/tree-sitter-languages/rust-tags.scm +60 -0
- agentpool/queries/tree-sitter-languages/scala-tags.scm +65 -0
- agentpool/queries/tree-sitter-languages/typescript-tags.scm +41 -0
- agentpool/queries/tree-sitter-languages/zig-tags.scm +3 -0
- agentpool/repomap.py +1231 -0
- agentpool/resource_providers/__init__.py +17 -0
- agentpool/resource_providers/aggregating.py +54 -0
- agentpool/resource_providers/base.py +172 -0
- agentpool/resource_providers/codemode/__init__.py +9 -0
- agentpool/resource_providers/codemode/code_executor.py +215 -0
- agentpool/resource_providers/codemode/default_prompt.py +19 -0
- agentpool/resource_providers/codemode/helpers.py +83 -0
- agentpool/resource_providers/codemode/progress_executor.py +212 -0
- agentpool/resource_providers/codemode/provider.py +150 -0
- agentpool/resource_providers/codemode/remote_mcp_execution.py +143 -0
- agentpool/resource_providers/codemode/remote_provider.py +171 -0
- agentpool/resource_providers/filtering.py +42 -0
- agentpool/resource_providers/mcp_provider.py +246 -0
- agentpool/resource_providers/plan_provider.py +196 -0
- agentpool/resource_providers/pool.py +69 -0
- agentpool/resource_providers/static.py +289 -0
- agentpool/running/__init__.py +20 -0
- agentpool/running/decorators.py +56 -0
- agentpool/running/discovery.py +101 -0
- agentpool/running/executor.py +284 -0
- agentpool/running/injection.py +111 -0
- agentpool/running/py.typed +0 -0
- agentpool/running/run_nodes.py +87 -0
- agentpool/server.py +122 -0
- agentpool/sessions/__init__.py +13 -0
- agentpool/sessions/manager.py +302 -0
- agentpool/sessions/models.py +71 -0
- agentpool/sessions/session.py +239 -0
- agentpool/sessions/store.py +163 -0
- agentpool/skills/__init__.py +5 -0
- agentpool/skills/manager.py +120 -0
- agentpool/skills/registry.py +210 -0
- agentpool/skills/skill.py +36 -0
- agentpool/storage/__init__.py +17 -0
- agentpool/storage/manager.py +419 -0
- agentpool/storage/serialization.py +136 -0
- agentpool/talk/__init__.py +13 -0
- agentpool/talk/registry.py +128 -0
- agentpool/talk/stats.py +159 -0
- agentpool/talk/talk.py +604 -0
- agentpool/tasks/__init__.py +20 -0
- agentpool/tasks/exceptions.py +25 -0
- agentpool/tasks/registry.py +33 -0
- agentpool/testing.py +129 -0
- agentpool/text_templates/__init__.py +39 -0
- agentpool/text_templates/system_prompt.jinja +30 -0
- agentpool/text_templates/tool_call_default.jinja +13 -0
- agentpool/text_templates/tool_call_markdown.jinja +25 -0
- agentpool/text_templates/tool_call_simple.jinja +5 -0
- agentpool/tools/__init__.py +16 -0
- agentpool/tools/base.py +269 -0
- agentpool/tools/exceptions.py +9 -0
- agentpool/tools/manager.py +255 -0
- agentpool/tools/tool_call_info.py +87 -0
- agentpool/ui/__init__.py +2 -0
- agentpool/ui/base.py +89 -0
- agentpool/ui/mock_provider.py +81 -0
- agentpool/ui/stdlib_provider.py +150 -0
- agentpool/utils/__init__.py +44 -0
- agentpool/utils/baseregistry.py +185 -0
- agentpool/utils/count_tokens.py +62 -0
- agentpool/utils/dag.py +184 -0
- agentpool/utils/importing.py +206 -0
- agentpool/utils/inspection.py +334 -0
- agentpool/utils/model_capabilities.py +25 -0
- agentpool/utils/network.py +28 -0
- agentpool/utils/now.py +22 -0
- agentpool/utils/parse_time.py +87 -0
- agentpool/utils/result_utils.py +35 -0
- agentpool/utils/signatures.py +305 -0
- agentpool/utils/streams.py +112 -0
- agentpool/utils/tasks.py +186 -0
- agentpool/vfs_registry.py +250 -0
- agentpool-2.1.9.dist-info/METADATA +336 -0
- agentpool-2.1.9.dist-info/RECORD +474 -0
- agentpool-2.1.9.dist-info/WHEEL +4 -0
- agentpool-2.1.9.dist-info/entry_points.txt +14 -0
- agentpool-2.1.9.dist-info/licenses/LICENSE +22 -0
- agentpool_cli/__init__.py +34 -0
- agentpool_cli/__main__.py +66 -0
- agentpool_cli/agent.py +175 -0
- agentpool_cli/cli_types.py +23 -0
- agentpool_cli/common.py +163 -0
- agentpool_cli/create.py +175 -0
- agentpool_cli/history.py +217 -0
- agentpool_cli/log.py +78 -0
- agentpool_cli/py.typed +0 -0
- agentpool_cli/run.py +84 -0
- agentpool_cli/serve_acp.py +177 -0
- agentpool_cli/serve_api.py +69 -0
- agentpool_cli/serve_mcp.py +74 -0
- agentpool_cli/serve_vercel.py +233 -0
- agentpool_cli/store.py +171 -0
- agentpool_cli/task.py +84 -0
- agentpool_cli/utils.py +104 -0
- agentpool_cli/watch.py +54 -0
- agentpool_commands/__init__.py +180 -0
- agentpool_commands/agents.py +199 -0
- agentpool_commands/base.py +45 -0
- agentpool_commands/commands.py +58 -0
- agentpool_commands/completers.py +110 -0
- agentpool_commands/connections.py +175 -0
- agentpool_commands/markdown_utils.py +31 -0
- agentpool_commands/models.py +62 -0
- agentpool_commands/prompts.py +78 -0
- agentpool_commands/py.typed +0 -0
- agentpool_commands/read.py +77 -0
- agentpool_commands/resources.py +210 -0
- agentpool_commands/session.py +48 -0
- agentpool_commands/tools.py +269 -0
- agentpool_commands/utils.py +189 -0
- agentpool_commands/workers.py +163 -0
- agentpool_config/__init__.py +53 -0
- agentpool_config/builtin_tools.py +265 -0
- agentpool_config/commands.py +237 -0
- agentpool_config/conditions.py +301 -0
- agentpool_config/converters.py +30 -0
- agentpool_config/durable.py +331 -0
- agentpool_config/event_handlers.py +600 -0
- agentpool_config/events.py +153 -0
- agentpool_config/forward_targets.py +251 -0
- agentpool_config/hook_conditions.py +331 -0
- agentpool_config/hooks.py +241 -0
- agentpool_config/jinja.py +206 -0
- agentpool_config/knowledge.py +41 -0
- agentpool_config/loaders.py +350 -0
- agentpool_config/mcp_server.py +243 -0
- agentpool_config/nodes.py +202 -0
- agentpool_config/observability.py +191 -0
- agentpool_config/output_types.py +55 -0
- agentpool_config/pool_server.py +267 -0
- agentpool_config/prompt_hubs.py +105 -0
- agentpool_config/prompts.py +185 -0
- agentpool_config/py.typed +0 -0
- agentpool_config/resources.py +33 -0
- agentpool_config/session.py +119 -0
- agentpool_config/skills.py +17 -0
- agentpool_config/storage.py +288 -0
- agentpool_config/system_prompts.py +190 -0
- agentpool_config/task.py +162 -0
- agentpool_config/teams.py +52 -0
- agentpool_config/tools.py +112 -0
- agentpool_config/toolsets.py +1033 -0
- agentpool_config/workers.py +86 -0
- agentpool_prompts/__init__.py +1 -0
- agentpool_prompts/braintrust_hub.py +235 -0
- agentpool_prompts/fabric.py +75 -0
- agentpool_prompts/langfuse_hub.py +79 -0
- agentpool_prompts/promptlayer_provider.py +59 -0
- agentpool_prompts/py.typed +0 -0
- agentpool_server/__init__.py +9 -0
- agentpool_server/a2a_server/__init__.py +5 -0
- agentpool_server/a2a_server/a2a_types.py +41 -0
- agentpool_server/a2a_server/server.py +190 -0
- agentpool_server/a2a_server/storage.py +81 -0
- agentpool_server/acp_server/__init__.py +22 -0
- agentpool_server/acp_server/acp_agent.py +786 -0
- agentpool_server/acp_server/acp_tools.py +43 -0
- agentpool_server/acp_server/commands/__init__.py +18 -0
- agentpool_server/acp_server/commands/acp_commands.py +594 -0
- agentpool_server/acp_server/commands/debug_commands.py +376 -0
- agentpool_server/acp_server/commands/docs_commands/__init__.py +39 -0
- agentpool_server/acp_server/commands/docs_commands/fetch_repo.py +169 -0
- agentpool_server/acp_server/commands/docs_commands/get_schema.py +176 -0
- agentpool_server/acp_server/commands/docs_commands/get_source.py +110 -0
- agentpool_server/acp_server/commands/docs_commands/git_diff.py +111 -0
- agentpool_server/acp_server/commands/docs_commands/helpers.py +33 -0
- agentpool_server/acp_server/commands/docs_commands/url_to_markdown.py +90 -0
- agentpool_server/acp_server/commands/spawn.py +210 -0
- agentpool_server/acp_server/converters.py +235 -0
- agentpool_server/acp_server/input_provider.py +338 -0
- agentpool_server/acp_server/server.py +288 -0
- agentpool_server/acp_server/session.py +969 -0
- agentpool_server/acp_server/session_manager.py +313 -0
- agentpool_server/acp_server/syntax_detection.py +250 -0
- agentpool_server/acp_server/zed_tools.md +90 -0
- agentpool_server/aggregating_server.py +309 -0
- agentpool_server/agui_server/__init__.py +11 -0
- agentpool_server/agui_server/server.py +128 -0
- agentpool_server/base.py +189 -0
- agentpool_server/http_server.py +164 -0
- agentpool_server/mcp_server/__init__.py +6 -0
- agentpool_server/mcp_server/server.py +314 -0
- agentpool_server/mcp_server/zed_wrapper.py +110 -0
- agentpool_server/openai_api_server/__init__.py +5 -0
- agentpool_server/openai_api_server/completions/__init__.py +1 -0
- agentpool_server/openai_api_server/completions/helpers.py +81 -0
- agentpool_server/openai_api_server/completions/models.py +98 -0
- agentpool_server/openai_api_server/responses/__init__.py +1 -0
- agentpool_server/openai_api_server/responses/helpers.py +74 -0
- agentpool_server/openai_api_server/responses/models.py +96 -0
- agentpool_server/openai_api_server/server.py +242 -0
- agentpool_server/py.typed +0 -0
- agentpool_storage/__init__.py +9 -0
- agentpool_storage/base.py +310 -0
- agentpool_storage/file_provider.py +378 -0
- agentpool_storage/formatters.py +129 -0
- agentpool_storage/memory_provider.py +396 -0
- agentpool_storage/models.py +108 -0
- agentpool_storage/py.typed +0 -0
- agentpool_storage/session_store.py +262 -0
- agentpool_storage/sql_provider/__init__.py +21 -0
- agentpool_storage/sql_provider/cli.py +146 -0
- agentpool_storage/sql_provider/models.py +249 -0
- agentpool_storage/sql_provider/queries.py +15 -0
- agentpool_storage/sql_provider/sql_provider.py +444 -0
- agentpool_storage/sql_provider/utils.py +234 -0
- agentpool_storage/text_log_provider.py +275 -0
- agentpool_toolsets/__init__.py +15 -0
- agentpool_toolsets/builtin/__init__.py +33 -0
- agentpool_toolsets/builtin/agent_management.py +239 -0
- agentpool_toolsets/builtin/chain.py +288 -0
- agentpool_toolsets/builtin/code.py +398 -0
- agentpool_toolsets/builtin/debug.py +291 -0
- agentpool_toolsets/builtin/execution_environment.py +381 -0
- agentpool_toolsets/builtin/file_edit/__init__.py +11 -0
- agentpool_toolsets/builtin/file_edit/file_edit.py +747 -0
- agentpool_toolsets/builtin/file_edit/fuzzy_matcher/__init__.py +5 -0
- agentpool_toolsets/builtin/file_edit/fuzzy_matcher/example_usage.py +311 -0
- agentpool_toolsets/builtin/file_edit/fuzzy_matcher/streaming_fuzzy_matcher.py +443 -0
- agentpool_toolsets/builtin/history.py +36 -0
- agentpool_toolsets/builtin/integration.py +85 -0
- agentpool_toolsets/builtin/skills.py +77 -0
- agentpool_toolsets/builtin/subagent_tools.py +324 -0
- agentpool_toolsets/builtin/tool_management.py +90 -0
- agentpool_toolsets/builtin/user_interaction.py +52 -0
- agentpool_toolsets/builtin/workers.py +128 -0
- agentpool_toolsets/composio_toolset.py +96 -0
- agentpool_toolsets/config_creation.py +192 -0
- agentpool_toolsets/entry_points.py +47 -0
- agentpool_toolsets/fsspec_toolset/__init__.py +7 -0
- agentpool_toolsets/fsspec_toolset/diagnostics.py +115 -0
- agentpool_toolsets/fsspec_toolset/grep.py +450 -0
- agentpool_toolsets/fsspec_toolset/helpers.py +631 -0
- agentpool_toolsets/fsspec_toolset/streaming_diff_parser.py +249 -0
- agentpool_toolsets/fsspec_toolset/toolset.py +1384 -0
- agentpool_toolsets/mcp_run_toolset.py +61 -0
- agentpool_toolsets/notifications.py +146 -0
- agentpool_toolsets/openapi.py +118 -0
- agentpool_toolsets/py.typed +0 -0
- agentpool_toolsets/search_toolset.py +202 -0
- agentpool_toolsets/semantic_memory_toolset.py +536 -0
- agentpool_toolsets/streaming_tools.py +265 -0
- agentpool_toolsets/vfs_toolset.py +124 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"""Configuration models for Claude Code agents."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Sequence # noqa: TC003
|
|
6
|
+
from typing import TYPE_CHECKING, Literal
|
|
7
|
+
|
|
8
|
+
from pydantic import ConfigDict, Field
|
|
9
|
+
|
|
10
|
+
from agentpool_config.nodes import BaseAgentConfig
|
|
11
|
+
from agentpool_config.output_types import StructuredResponseConfig # noqa: TC001
|
|
12
|
+
from agentpool_config.system_prompts import PromptConfig # noqa: TC001
|
|
13
|
+
from agentpool_config.toolsets import ToolsetConfig # noqa: TC001
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from agentpool.resource_providers import ResourceProvider
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
PermissionMode = Literal["default", "acceptEdits", "plan", "bypassPermissions"]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ClaudeCodeAgentConfig(BaseAgentConfig):
|
|
24
|
+
"""Configuration for Claude Code agents.
|
|
25
|
+
|
|
26
|
+
Claude Code agents use the Claude Agent SDK to interact with Claude Code CLI,
|
|
27
|
+
enabling file operations, terminal access, and code editing capabilities.
|
|
28
|
+
|
|
29
|
+
Example:
|
|
30
|
+
```yaml
|
|
31
|
+
claude_code_agents:
|
|
32
|
+
coder:
|
|
33
|
+
cwd: /path/to/project
|
|
34
|
+
model: claude-sonnet-4-5
|
|
35
|
+
allowed_tools:
|
|
36
|
+
- Read
|
|
37
|
+
- Write
|
|
38
|
+
- Bash
|
|
39
|
+
system_prompt: "You are a helpful coding assistant."
|
|
40
|
+
max_turns: 10
|
|
41
|
+
|
|
42
|
+
planner:
|
|
43
|
+
cwd: /path/to/project
|
|
44
|
+
permission_mode: plan
|
|
45
|
+
max_thinking_tokens: 10000
|
|
46
|
+
include_builtin_system_prompt: false
|
|
47
|
+
system_prompt:
|
|
48
|
+
- "You are a planning-only assistant."
|
|
49
|
+
- "Focus on architecture decisions."
|
|
50
|
+
```
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
model_config = ConfigDict(
|
|
54
|
+
json_schema_extra={
|
|
55
|
+
"title": "Claude Code Agent Configuration",
|
|
56
|
+
"x-icon": "simple-icons:anthropic",
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
type: Literal["claude_code"] = Field(default="claude_code", init=False)
|
|
61
|
+
"""Top-level discriminator for agent type."""
|
|
62
|
+
|
|
63
|
+
cwd: str | None = Field(
|
|
64
|
+
default=None,
|
|
65
|
+
title="Working Directory",
|
|
66
|
+
examples=["/path/to/project", ".", "/home/user/myproject"],
|
|
67
|
+
)
|
|
68
|
+
"""Working directory for Claude Code operations."""
|
|
69
|
+
|
|
70
|
+
model: str | None = Field(
|
|
71
|
+
default=None,
|
|
72
|
+
title="Model",
|
|
73
|
+
examples=["claude-sonnet-4-5", "claude-opus-4", "claude-haiku-3-5"],
|
|
74
|
+
)
|
|
75
|
+
"""Model to use for this agent. Defaults to Claude's default model."""
|
|
76
|
+
|
|
77
|
+
allowed_tools: list[str] | None = Field(
|
|
78
|
+
default=None,
|
|
79
|
+
title="Allowed Tools",
|
|
80
|
+
examples=[["Read", "Write", "Bash"], ["Read", "Grep", "Glob"]],
|
|
81
|
+
)
|
|
82
|
+
"""List of tool names the agent is allowed to use.
|
|
83
|
+
|
|
84
|
+
If not specified, all tools are available (subject to permission_mode).
|
|
85
|
+
Common tools: Read, Write, Edit, Bash, Glob, Grep, Task, WebFetch, etc.
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
disallowed_tools: list[str] | None = Field(
|
|
89
|
+
default=None,
|
|
90
|
+
title="Disallowed Tools",
|
|
91
|
+
examples=[["Bash", "Write"], ["Task"]],
|
|
92
|
+
)
|
|
93
|
+
"""List of tool names the agent is NOT allowed to use.
|
|
94
|
+
|
|
95
|
+
Takes precedence over allowed_tools if both are specified.
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
system_prompt: str | Sequence[str | PromptConfig] | None = Field(
|
|
99
|
+
default=None,
|
|
100
|
+
title="System Prompt",
|
|
101
|
+
examples=[
|
|
102
|
+
"You are a helpful coding assistant.",
|
|
103
|
+
["Always write tests.", "Focus on Python."],
|
|
104
|
+
],
|
|
105
|
+
json_schema_extra={
|
|
106
|
+
"documentation_url": "https://phil65.github.io/agentpool/YAML%20Configuration/system_prompts_configuration/"
|
|
107
|
+
},
|
|
108
|
+
)
|
|
109
|
+
"""System prompt for the agent. Can be a string or list of strings/prompt configs.
|
|
110
|
+
|
|
111
|
+
By default, this is appended to Claude Code's builtin system prompt.
|
|
112
|
+
Set `include_builtin_system_prompt: false` to use only your custom prompt.
|
|
113
|
+
|
|
114
|
+
Docs: https://phil65.github.io/agentpool/YAML%20Configuration/system_prompts_configuration/
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
include_builtin_system_prompt: bool = Field(
|
|
118
|
+
default=True,
|
|
119
|
+
title="Include Builtin System Prompt",
|
|
120
|
+
)
|
|
121
|
+
"""Whether to include Claude Code's builtin system prompt.
|
|
122
|
+
|
|
123
|
+
- true (default): `system_prompt` is appended to the builtin
|
|
124
|
+
- false: Only use `system_prompt`, discard the builtin
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
max_turns: int | None = Field(
|
|
128
|
+
default=None,
|
|
129
|
+
title="Max Turns",
|
|
130
|
+
ge=1,
|
|
131
|
+
examples=[5, 10, 20],
|
|
132
|
+
)
|
|
133
|
+
"""Maximum number of conversation turns before stopping."""
|
|
134
|
+
|
|
135
|
+
max_thinking_tokens: int | None = Field(
|
|
136
|
+
default=None,
|
|
137
|
+
title="Max Thinking Tokens",
|
|
138
|
+
ge=1000,
|
|
139
|
+
examples=[5000, 10000, 50000],
|
|
140
|
+
)
|
|
141
|
+
"""Maximum tokens for extended thinking mode.
|
|
142
|
+
|
|
143
|
+
When set, enables Claude's extended thinking capability for more
|
|
144
|
+
complex reasoning tasks.
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
permission_mode: PermissionMode | None = Field(
|
|
148
|
+
default=None,
|
|
149
|
+
title="Permission Mode",
|
|
150
|
+
examples=["default", "acceptEdits", "plan", "bypassPermissions"],
|
|
151
|
+
)
|
|
152
|
+
"""Permission handling mode:
|
|
153
|
+
|
|
154
|
+
- "default": Ask for permission on each tool use
|
|
155
|
+
- "acceptEdits": Auto-accept file edits but ask for other operations
|
|
156
|
+
- "plan": Plan-only mode, no execution
|
|
157
|
+
- "bypassPermissions": Skip all permission checks (use with caution)
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
output_type: str | StructuredResponseConfig | None = Field(
|
|
161
|
+
default=None,
|
|
162
|
+
examples=["json_response", "code_output"],
|
|
163
|
+
title="Response type",
|
|
164
|
+
)
|
|
165
|
+
"""Optional structured output type for responses.
|
|
166
|
+
|
|
167
|
+
Can be either a reference to a response defined in manifest.responses,
|
|
168
|
+
or an inline StructuredResponseConfig.
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
env: dict[str, str] | None = Field(
|
|
172
|
+
default=None,
|
|
173
|
+
title="Environment Variables",
|
|
174
|
+
examples=[{"ANTHROPIC_API_KEY": "", "DEBUG": "1"}],
|
|
175
|
+
)
|
|
176
|
+
"""Environment variables to set for the agent process.
|
|
177
|
+
|
|
178
|
+
Note: Set ANTHROPIC_API_KEY to empty string to force subscription usage.
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
add_dir: list[str] | None = Field(
|
|
182
|
+
default=None,
|
|
183
|
+
title="Additional Directories",
|
|
184
|
+
examples=[["/tmp", "/var/log"], ["/home/user/data"]],
|
|
185
|
+
)
|
|
186
|
+
"""Additional directories to allow tool access to."""
|
|
187
|
+
|
|
188
|
+
builtin_tools: list[str] | None = Field(
|
|
189
|
+
default=None,
|
|
190
|
+
title="Built-in Tools",
|
|
191
|
+
examples=[["Bash", "Edit", "Read"], []],
|
|
192
|
+
)
|
|
193
|
+
"""Available tools from Claude Code's built-in set.
|
|
194
|
+
|
|
195
|
+
Empty list disables all tools. If not specified, all tools are available.
|
|
196
|
+
Different from allowed_tools which filters an already-available set.
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
fallback_model: str | None = Field(
|
|
200
|
+
default=None,
|
|
201
|
+
title="Fallback Model",
|
|
202
|
+
examples=["claude-sonnet-4-5", "claude-haiku-3-5"],
|
|
203
|
+
)
|
|
204
|
+
"""Fallback model when default is overloaded."""
|
|
205
|
+
|
|
206
|
+
dangerously_skip_permissions: bool = Field(
|
|
207
|
+
default=False,
|
|
208
|
+
title="Dangerously Skip Permissions",
|
|
209
|
+
)
|
|
210
|
+
"""Bypass all permission checks. Only for sandboxed environments."""
|
|
211
|
+
|
|
212
|
+
toolsets: list[ToolsetConfig] = Field(
|
|
213
|
+
default_factory=list,
|
|
214
|
+
title="Toolsets",
|
|
215
|
+
examples=[
|
|
216
|
+
[
|
|
217
|
+
{"type": "subagent"},
|
|
218
|
+
{"type": "agent_management"},
|
|
219
|
+
],
|
|
220
|
+
],
|
|
221
|
+
)
|
|
222
|
+
"""Toolsets to expose to this Claude Code agent via MCP bridge.
|
|
223
|
+
|
|
224
|
+
These toolsets will be started as an in-process MCP server and made
|
|
225
|
+
available to Claude Code. This allows Claude Code to use internal
|
|
226
|
+
agentpool toolsets like subagent delegation, agent management, etc.
|
|
227
|
+
|
|
228
|
+
The toolsets are exposed using the Claude SDK's native MCP support,
|
|
229
|
+
which passes the FastMCP server instance directly without HTTP overhead.
|
|
230
|
+
"""
|
|
231
|
+
|
|
232
|
+
def get_toolset_providers(self) -> list[ResourceProvider]:
|
|
233
|
+
"""Get resource providers for all configured toolsets.
|
|
234
|
+
|
|
235
|
+
Returns:
|
|
236
|
+
List of initialized ResourceProvider instances
|
|
237
|
+
"""
|
|
238
|
+
return [toolset.get_provider() for toolset in self.toolsets]
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"""Configuration for file-based agent definitions.
|
|
2
|
+
|
|
3
|
+
Supports loading agents from markdown files with YAML frontmatter in various formats:
|
|
4
|
+
- Claude Code: https://code.claude.com/docs/en/sub-agents.md
|
|
5
|
+
- OpenCode: https://github.com/sst/opencode
|
|
6
|
+
- AgentPool (native): Full NativeAgentConfig fields in frontmatter
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Annotated, Literal
|
|
12
|
+
|
|
13
|
+
from pydantic import Field
|
|
14
|
+
from schemez import Schema
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ClaudeFileAgentConfig(Schema):
|
|
18
|
+
"""Configuration for a Claude Code format agent file.
|
|
19
|
+
|
|
20
|
+
Claude Code agents use markdown files with YAML frontmatter containing
|
|
21
|
+
fields like `model`, `tools`, `allowed-tools`, etc.
|
|
22
|
+
|
|
23
|
+
Example:
|
|
24
|
+
```yaml
|
|
25
|
+
file_agents:
|
|
26
|
+
reviewer:
|
|
27
|
+
type: claude
|
|
28
|
+
path: .claude/agents/reviewer.md
|
|
29
|
+
```
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
type: Literal["claude"] = Field(
|
|
33
|
+
default="claude",
|
|
34
|
+
description="Discriminator for Claude Code format",
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
path: str = Field(
|
|
38
|
+
...,
|
|
39
|
+
description="Path to the agent markdown file",
|
|
40
|
+
examples=[".claude/agents/reviewer.md"],
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class OpenCodeFileAgentConfig(Schema):
|
|
45
|
+
"""Configuration for an OpenCode format agent file.
|
|
46
|
+
|
|
47
|
+
OpenCode agents use markdown files with YAML frontmatter containing
|
|
48
|
+
fields like `model`, `tools`, `description`, etc.
|
|
49
|
+
|
|
50
|
+
Example:
|
|
51
|
+
```yaml
|
|
52
|
+
file_agents:
|
|
53
|
+
debugger:
|
|
54
|
+
type: opencode
|
|
55
|
+
path: ./agents/debugger.md
|
|
56
|
+
```
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
type: Literal["opencode"] = Field(
|
|
60
|
+
default="opencode",
|
|
61
|
+
description="Discriminator for OpenCode format",
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
path: str = Field(
|
|
65
|
+
...,
|
|
66
|
+
description="Path to the agent markdown file",
|
|
67
|
+
examples=["./agents/debugger.md"],
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class NativeFileAgentConfig(Schema):
|
|
72
|
+
"""Configuration for a native format agent file.
|
|
73
|
+
|
|
74
|
+
Native agents use markdown files with YAML frontmatter containing
|
|
75
|
+
full NativeAgentConfig fields (model, toolsets, knowledge, etc.).
|
|
76
|
+
|
|
77
|
+
Example:
|
|
78
|
+
```yaml
|
|
79
|
+
file_agents:
|
|
80
|
+
assistant:
|
|
81
|
+
type: native
|
|
82
|
+
path: ./agents/assistant.md
|
|
83
|
+
```
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
type: Literal["native"] = Field(
|
|
87
|
+
default="native",
|
|
88
|
+
description="Discriminator for native format",
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
path: str = Field(
|
|
92
|
+
...,
|
|
93
|
+
description="Path to the agent markdown file",
|
|
94
|
+
examples=["./agents/assistant.md"],
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
# Discriminated union of all file agent config types
|
|
99
|
+
FileAgentConfig = ClaudeFileAgentConfig | OpenCodeFileAgentConfig | NativeFileAgentConfig
|
|
100
|
+
|
|
101
|
+
# All supported file agent config types for documentation
|
|
102
|
+
FileAgentConfigTypes = ClaudeFileAgentConfig | OpenCodeFileAgentConfig | NativeFileAgentConfig
|
|
103
|
+
|
|
104
|
+
# Type alias for manifest usage: either a simple path string (auto-detect) or explicit config
|
|
105
|
+
FileAgentReference = Annotated[
|
|
106
|
+
str | FileAgentConfig,
|
|
107
|
+
Field(
|
|
108
|
+
description="Agent file reference - either a path string (auto-detect format) "
|
|
109
|
+
"or explicit config with type discriminator",
|
|
110
|
+
examples=[
|
|
111
|
+
".claude/agents/reviewer.md",
|
|
112
|
+
{"type": "claude", "path": "./agents/reviewer.md"},
|
|
113
|
+
{"type": "opencode", "path": "./agents/debugger.md"},
|
|
114
|
+
],
|
|
115
|
+
),
|
|
116
|
+
]
|