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
acp/py.typed
ADDED
|
File without changes
|
acp/schema/__init__.py
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"""Schema definitions for the ACP protocol."""
|
|
2
|
+
|
|
3
|
+
from acp.schema.agent_plan import PlanEntry, PlanEntryPriority, PlanEntryStatus
|
|
4
|
+
from acp.schema.agent_requests import (
|
|
5
|
+
AgentRequest,
|
|
6
|
+
CreateTerminalRequest,
|
|
7
|
+
KillTerminalCommandRequest,
|
|
8
|
+
ReadTextFileRequest,
|
|
9
|
+
ReleaseTerminalRequest,
|
|
10
|
+
RequestPermissionRequest,
|
|
11
|
+
TerminalOutputRequest,
|
|
12
|
+
WaitForTerminalExitRequest,
|
|
13
|
+
WriteTextFileRequest,
|
|
14
|
+
)
|
|
15
|
+
from acp.schema.agent_responses import (
|
|
16
|
+
AgentResponse,
|
|
17
|
+
AuthenticateResponse,
|
|
18
|
+
CustomResponse,
|
|
19
|
+
ForkSessionResponse,
|
|
20
|
+
InitializeResponse,
|
|
21
|
+
LoadSessionResponse,
|
|
22
|
+
NewSessionResponse,
|
|
23
|
+
ListSessionsResponse,
|
|
24
|
+
PromptResponse,
|
|
25
|
+
ResumeSessionResponse,
|
|
26
|
+
SetSessionConfigOptionResponse,
|
|
27
|
+
SetSessionModeResponse,
|
|
28
|
+
SetSessionModelResponse,
|
|
29
|
+
StopReason,
|
|
30
|
+
)
|
|
31
|
+
from acp.schema.capabilities import (
|
|
32
|
+
AgentCapabilities,
|
|
33
|
+
ClientCapabilities,
|
|
34
|
+
FileSystemCapability,
|
|
35
|
+
McpCapabilities,
|
|
36
|
+
PromptCapabilities,
|
|
37
|
+
SessionCapabilities,
|
|
38
|
+
SessionForkCapabilities,
|
|
39
|
+
SessionListCapabilities,
|
|
40
|
+
SessionResumeCapabilities,
|
|
41
|
+
)
|
|
42
|
+
from acp.schema.client_requests import (
|
|
43
|
+
AuthenticateRequest,
|
|
44
|
+
ClientRequest,
|
|
45
|
+
CustomRequest,
|
|
46
|
+
ForkSessionRequest,
|
|
47
|
+
InitializeRequest,
|
|
48
|
+
ListSessionsRequest,
|
|
49
|
+
LoadSessionRequest,
|
|
50
|
+
NewSessionRequest,
|
|
51
|
+
PromptRequest,
|
|
52
|
+
ResumeSessionRequest,
|
|
53
|
+
SetSessionConfigOptionRequest,
|
|
54
|
+
SetSessionModeRequest,
|
|
55
|
+
SetSessionModelRequest,
|
|
56
|
+
)
|
|
57
|
+
from acp.schema.client_responses import (
|
|
58
|
+
ClientResponse,
|
|
59
|
+
CreateTerminalResponse,
|
|
60
|
+
KillTerminalCommandResponse,
|
|
61
|
+
ReadTextFileResponse,
|
|
62
|
+
ReleaseTerminalResponse,
|
|
63
|
+
RequestPermissionResponse,
|
|
64
|
+
TerminalOutputResponse,
|
|
65
|
+
WaitForTerminalExitResponse,
|
|
66
|
+
WriteTextFileResponse,
|
|
67
|
+
)
|
|
68
|
+
from acp.schema.common import AuthMethod, EnvVariable, Implementation
|
|
69
|
+
from acp.schema.content_blocks import (
|
|
70
|
+
Annotations,
|
|
71
|
+
AudioContentBlock,
|
|
72
|
+
Audience,
|
|
73
|
+
BlobResourceContents,
|
|
74
|
+
ContentBlock,
|
|
75
|
+
EmbeddedResourceContentBlock,
|
|
76
|
+
ImageContentBlock,
|
|
77
|
+
ResourceContentBlock,
|
|
78
|
+
TextContentBlock,
|
|
79
|
+
TextResourceContents,
|
|
80
|
+
)
|
|
81
|
+
from acp.schema.mcp import (
|
|
82
|
+
HttpHeader,
|
|
83
|
+
HttpMcpServer,
|
|
84
|
+
McpServer,
|
|
85
|
+
SseMcpServer,
|
|
86
|
+
StdioMcpServer,
|
|
87
|
+
)
|
|
88
|
+
from acp.schema.messages import AgentMethod, ClientMethod
|
|
89
|
+
from acp.schema.notifications import (
|
|
90
|
+
AgentNotification,
|
|
91
|
+
CancelNotification,
|
|
92
|
+
ClientNotification,
|
|
93
|
+
ExtNotification,
|
|
94
|
+
SessionNotification,
|
|
95
|
+
)
|
|
96
|
+
from acp.schema.session_state import (
|
|
97
|
+
ModelInfo,
|
|
98
|
+
SessionConfigOption,
|
|
99
|
+
SessionConfigSelect,
|
|
100
|
+
SessionConfigSelectGroup,
|
|
101
|
+
SessionConfigSelectOption,
|
|
102
|
+
SessionConfigSelectOptions,
|
|
103
|
+
SessionInfo,
|
|
104
|
+
SessionMode,
|
|
105
|
+
SessionModeState,
|
|
106
|
+
SessionModelState,
|
|
107
|
+
)
|
|
108
|
+
from acp.schema.slash_commands import (
|
|
109
|
+
AvailableCommand,
|
|
110
|
+
AvailableCommandInput,
|
|
111
|
+
CommandInputHint,
|
|
112
|
+
)
|
|
113
|
+
from acp.schema.terminal import TerminalExitStatus
|
|
114
|
+
from acp.schema.tool_call import (
|
|
115
|
+
AllowedOutcome,
|
|
116
|
+
ContentToolCallContent,
|
|
117
|
+
DeniedOutcome,
|
|
118
|
+
FileEditToolCallContent,
|
|
119
|
+
PermissionKind,
|
|
120
|
+
PermissionOption,
|
|
121
|
+
TerminalToolCallContent,
|
|
122
|
+
ToolCall,
|
|
123
|
+
ToolCallContent,
|
|
124
|
+
ToolCallKind,
|
|
125
|
+
ToolCallLocation,
|
|
126
|
+
ToolCallStatus,
|
|
127
|
+
)
|
|
128
|
+
from acp.schema.session_updates import (
|
|
129
|
+
AgentMessageChunk,
|
|
130
|
+
AgentPlanUpdate,
|
|
131
|
+
AgentThoughtChunk,
|
|
132
|
+
AvailableCommandsUpdate,
|
|
133
|
+
ConfigOptionUpdate,
|
|
134
|
+
CurrentModeUpdate,
|
|
135
|
+
CurrentModelUpdate,
|
|
136
|
+
SessionUpdate,
|
|
137
|
+
ToolCallProgress,
|
|
138
|
+
ToolCallStart,
|
|
139
|
+
UserMessageChunk,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
PROTOCOL_VERSION = 1
|
|
143
|
+
|
|
144
|
+
__all__ = [
|
|
145
|
+
"PROTOCOL_VERSION",
|
|
146
|
+
"AgentCapabilities",
|
|
147
|
+
"AgentMessageChunk",
|
|
148
|
+
"AgentMethod",
|
|
149
|
+
"AgentNotification",
|
|
150
|
+
"AgentPlanUpdate",
|
|
151
|
+
"AgentRequest",
|
|
152
|
+
"AgentResponse",
|
|
153
|
+
"AgentThoughtChunk",
|
|
154
|
+
"AllowedOutcome",
|
|
155
|
+
"Annotations",
|
|
156
|
+
"Audience",
|
|
157
|
+
"AudioContentBlock",
|
|
158
|
+
"AuthMethod",
|
|
159
|
+
"AuthenticateRequest",
|
|
160
|
+
"AuthenticateResponse",
|
|
161
|
+
"AvailableCommand",
|
|
162
|
+
"AvailableCommandInput",
|
|
163
|
+
"AvailableCommandsUpdate",
|
|
164
|
+
"BlobResourceContents",
|
|
165
|
+
"CancelNotification",
|
|
166
|
+
"ClientCapabilities",
|
|
167
|
+
"ClientMethod",
|
|
168
|
+
"ClientNotification",
|
|
169
|
+
"ClientRequest",
|
|
170
|
+
"ClientResponse",
|
|
171
|
+
"CommandInputHint",
|
|
172
|
+
"ConfigOptionUpdate",
|
|
173
|
+
"ContentBlock",
|
|
174
|
+
"ContentToolCallContent",
|
|
175
|
+
"CreateTerminalRequest",
|
|
176
|
+
"CreateTerminalResponse",
|
|
177
|
+
"CurrentModeUpdate",
|
|
178
|
+
"CurrentModelUpdate",
|
|
179
|
+
"CustomRequest",
|
|
180
|
+
"CustomResponse",
|
|
181
|
+
"DeniedOutcome",
|
|
182
|
+
"EmbeddedResourceContentBlock",
|
|
183
|
+
"EnvVariable",
|
|
184
|
+
"ExtNotification",
|
|
185
|
+
"FileEditToolCallContent",
|
|
186
|
+
"FileSystemCapability",
|
|
187
|
+
"ForkSessionRequest",
|
|
188
|
+
"ForkSessionResponse",
|
|
189
|
+
"HttpHeader",
|
|
190
|
+
"HttpMcpServer",
|
|
191
|
+
"ImageContentBlock",
|
|
192
|
+
"Implementation",
|
|
193
|
+
"InitializeRequest",
|
|
194
|
+
"InitializeResponse",
|
|
195
|
+
"KillTerminalCommandRequest",
|
|
196
|
+
"KillTerminalCommandResponse",
|
|
197
|
+
"ListSessionsRequest",
|
|
198
|
+
"ListSessionsResponse",
|
|
199
|
+
"LoadSessionRequest",
|
|
200
|
+
"LoadSessionResponse",
|
|
201
|
+
"McpCapabilities",
|
|
202
|
+
"McpServer",
|
|
203
|
+
"ModelInfo",
|
|
204
|
+
"NewSessionRequest",
|
|
205
|
+
"NewSessionResponse",
|
|
206
|
+
"PermissionKind",
|
|
207
|
+
"PermissionOption",
|
|
208
|
+
"PlanEntry",
|
|
209
|
+
"PlanEntryPriority",
|
|
210
|
+
"PlanEntryStatus",
|
|
211
|
+
"PromptCapabilities",
|
|
212
|
+
"PromptRequest",
|
|
213
|
+
"PromptResponse",
|
|
214
|
+
"ReadTextFileRequest",
|
|
215
|
+
"ReadTextFileResponse",
|
|
216
|
+
"ReleaseTerminalRequest",
|
|
217
|
+
"ReleaseTerminalResponse",
|
|
218
|
+
"RequestPermissionRequest",
|
|
219
|
+
"RequestPermissionResponse",
|
|
220
|
+
"ResourceContentBlock",
|
|
221
|
+
"ResumeSessionRequest",
|
|
222
|
+
"ResumeSessionResponse",
|
|
223
|
+
"SessionCapabilities",
|
|
224
|
+
"SessionConfigOption",
|
|
225
|
+
"SessionConfigSelect",
|
|
226
|
+
"SessionConfigSelectGroup",
|
|
227
|
+
"SessionConfigSelectOption",
|
|
228
|
+
"SessionConfigSelectOptions",
|
|
229
|
+
"SessionForkCapabilities",
|
|
230
|
+
"SessionInfo",
|
|
231
|
+
"SessionListCapabilities",
|
|
232
|
+
"SessionMode",
|
|
233
|
+
"SessionModeState",
|
|
234
|
+
"SessionModelState",
|
|
235
|
+
"SessionNotification",
|
|
236
|
+
"SessionResumeCapabilities",
|
|
237
|
+
"SessionUpdate",
|
|
238
|
+
"SetSessionConfigOptionRequest",
|
|
239
|
+
"SetSessionConfigOptionResponse",
|
|
240
|
+
"SetSessionModeRequest",
|
|
241
|
+
"SetSessionModeResponse",
|
|
242
|
+
"SetSessionModelRequest",
|
|
243
|
+
"SetSessionModelResponse",
|
|
244
|
+
"SseMcpServer",
|
|
245
|
+
"StdioMcpServer",
|
|
246
|
+
"StopReason",
|
|
247
|
+
"TerminalExitStatus",
|
|
248
|
+
"TerminalOutputRequest",
|
|
249
|
+
"TerminalOutputResponse",
|
|
250
|
+
"TerminalToolCallContent",
|
|
251
|
+
"TextContentBlock",
|
|
252
|
+
"TextResourceContents",
|
|
253
|
+
"ToolCall",
|
|
254
|
+
"ToolCallContent",
|
|
255
|
+
"ToolCallKind",
|
|
256
|
+
"ToolCallLocation",
|
|
257
|
+
"ToolCallProgress",
|
|
258
|
+
"ToolCallStart",
|
|
259
|
+
"ToolCallStatus",
|
|
260
|
+
"UserMessageChunk",
|
|
261
|
+
"WaitForTerminalExitRequest",
|
|
262
|
+
"WaitForTerminalExitResponse",
|
|
263
|
+
"WriteTextFileRequest",
|
|
264
|
+
"WriteTextFileResponse",
|
|
265
|
+
]
|
acp/schema/agent_plan.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
from acp.schema.base import AnnotatedObject
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
PlanEntryPriority = Literal["high", "medium", "low"]
|
|
9
|
+
PlanEntryStatus = Literal["pending", "in_progress", "completed"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PlanEntry(AnnotatedObject):
|
|
13
|
+
"""A single entry in the execution plan.
|
|
14
|
+
|
|
15
|
+
Represents a task or goal that the assistant intends to accomplish
|
|
16
|
+
as part of fulfilling the user's request.
|
|
17
|
+
See protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent-plan#plan-entries)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
content: str
|
|
21
|
+
"""Human-readable description of what this task aims to accomplish."""
|
|
22
|
+
|
|
23
|
+
priority: PlanEntryPriority
|
|
24
|
+
"""The relative importance of this task.
|
|
25
|
+
|
|
26
|
+
Used to indicate which tasks are most critical to the overall goal.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
status: PlanEntryStatus
|
|
30
|
+
"""Current execution status of this task."""
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Sequence # noqa: TC003
|
|
4
|
+
|
|
5
|
+
from pydantic import Field
|
|
6
|
+
|
|
7
|
+
from acp.schema.base import Request
|
|
8
|
+
from acp.schema.common import EnvVariable # noqa: TC001
|
|
9
|
+
from acp.schema.tool_call import PermissionOption, ToolCall # noqa: TC001
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BaseAgentRequest(Request):
|
|
13
|
+
"""Base class for all agent requests."""
|
|
14
|
+
|
|
15
|
+
session_id: str
|
|
16
|
+
"""The session ID for this request."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class WriteTextFileRequest(BaseAgentRequest):
|
|
20
|
+
"""Request to write content to a text file.
|
|
21
|
+
|
|
22
|
+
Only available if the client supports the `fs.writeTextFile` capability.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
content: str
|
|
26
|
+
"""The text content to write to the file."""
|
|
27
|
+
|
|
28
|
+
path: str
|
|
29
|
+
"""Absolute path to the file to write."""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ReadTextFileRequest(BaseAgentRequest):
|
|
33
|
+
"""Request to read content from a text file.
|
|
34
|
+
|
|
35
|
+
Only available if the client supports the `fs.readTextFile` capability.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
limit: int | None = Field(default=None, ge=0)
|
|
39
|
+
"""Maximum number of lines to read."""
|
|
40
|
+
|
|
41
|
+
line: int | None = Field(default=None, ge=0)
|
|
42
|
+
"""Line number to start reading from (1-based)."""
|
|
43
|
+
|
|
44
|
+
path: str
|
|
45
|
+
"""Absolute path to the file to read."""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class TerminalOutputRequest(BaseAgentRequest):
|
|
49
|
+
"""Request to get the current output and status of a terminal."""
|
|
50
|
+
|
|
51
|
+
terminal_id: str
|
|
52
|
+
"""The ID of the terminal to get output from."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class WaitForTerminalExitRequest(BaseAgentRequest):
|
|
56
|
+
"""Request to wait for a terminal command to exit."""
|
|
57
|
+
|
|
58
|
+
terminal_id: str
|
|
59
|
+
"""The ID of the terminal to wait for."""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class CreateTerminalRequest(BaseAgentRequest):
|
|
63
|
+
"""Request to create a new terminal and execute a command."""
|
|
64
|
+
|
|
65
|
+
args: Sequence[str] | None = None
|
|
66
|
+
"""Array of command arguments."""
|
|
67
|
+
|
|
68
|
+
command: str
|
|
69
|
+
"""The command to execute."""
|
|
70
|
+
|
|
71
|
+
cwd: str | None = None
|
|
72
|
+
"""Working directory for the command (absolute path)."""
|
|
73
|
+
|
|
74
|
+
env: Sequence[EnvVariable] | None = None
|
|
75
|
+
"""Environment variables for the command."""
|
|
76
|
+
|
|
77
|
+
output_byte_limit: int | None = Field(default=None, ge=0)
|
|
78
|
+
"""Maximum number of output bytes to retain.
|
|
79
|
+
|
|
80
|
+
When the limit is exceeded, the Client truncates from the beginning of the output
|
|
81
|
+
to stay within the limit.
|
|
82
|
+
|
|
83
|
+
The Client MUST ensure truncation happens at a character boundary to maintain valid
|
|
84
|
+
string output, even if this means the retained output is slightly less than the
|
|
85
|
+
specified limit."""
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class KillTerminalCommandRequest(BaseAgentRequest):
|
|
89
|
+
"""Request to kill a terminal command without releasing the terminal."""
|
|
90
|
+
|
|
91
|
+
terminal_id: str
|
|
92
|
+
"""The ID of the terminal to kill."""
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class ReleaseTerminalRequest(BaseAgentRequest):
|
|
96
|
+
"""Request to release a terminal and free its resources."""
|
|
97
|
+
|
|
98
|
+
terminal_id: str
|
|
99
|
+
"""The ID of the terminal to release."""
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class RequestPermissionRequest(BaseAgentRequest):
|
|
103
|
+
"""Request for user permission to execute a tool call.
|
|
104
|
+
|
|
105
|
+
Sent when the agent needs authorization before performing a sensitive operation.
|
|
106
|
+
|
|
107
|
+
See protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission)
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
options: Sequence[PermissionOption]
|
|
111
|
+
"""Available permission options for the user to choose from."""
|
|
112
|
+
|
|
113
|
+
tool_call: ToolCall
|
|
114
|
+
"""Details about the tool call requiring permission."""
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
AgentRequest = (
|
|
118
|
+
WriteTextFileRequest
|
|
119
|
+
| ReadTextFileRequest
|
|
120
|
+
| RequestPermissionRequest
|
|
121
|
+
| CreateTerminalRequest
|
|
122
|
+
| TerminalOutputRequest
|
|
123
|
+
| ReleaseTerminalRequest
|
|
124
|
+
| WaitForTerminalExitRequest
|
|
125
|
+
| KillTerminalCommandRequest
|
|
126
|
+
)
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Sequence # noqa: TC003
|
|
4
|
+
from typing import Any, Literal, Self
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from acp.schema.base import Response
|
|
9
|
+
from acp.schema.capabilities import AgentCapabilities
|
|
10
|
+
from acp.schema.common import AuthMethod, Implementation # noqa: TC001
|
|
11
|
+
from acp.schema.session_state import ( # noqa: TC001
|
|
12
|
+
SessionInfo,
|
|
13
|
+
SessionModelState,
|
|
14
|
+
SessionModeState,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class CustomResponse(Response):
|
|
19
|
+
"""Response for custom/extension methods."""
|
|
20
|
+
|
|
21
|
+
data: dict[str, Any] | None = None
|
|
22
|
+
"""The method result data."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
StopReason = Literal[
|
|
26
|
+
"end_turn",
|
|
27
|
+
"max_tokens",
|
|
28
|
+
"max_turn_requests",
|
|
29
|
+
"refusal",
|
|
30
|
+
"cancelled",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class SetSessionModelResponse(Response):
|
|
35
|
+
"""**UNSTABLE**: This capability is not part of the spec yet.
|
|
36
|
+
|
|
37
|
+
Response to `session/set_model` method.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class NewSessionResponse(Response):
|
|
42
|
+
"""Response from creating a new session.
|
|
43
|
+
|
|
44
|
+
See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
models: SessionModelState | None = None
|
|
48
|
+
"""**UNSTABLE**
|
|
49
|
+
|
|
50
|
+
This capability is not part of the spec yet.
|
|
51
|
+
|
|
52
|
+
Initial model state if supported by the Agent
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
modes: SessionModeState | None = None
|
|
56
|
+
"""Initial mode state if supported by the Agent
|
|
57
|
+
|
|
58
|
+
See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
session_id: str
|
|
62
|
+
"""Unique identifier for the created session.
|
|
63
|
+
|
|
64
|
+
Used in all subsequent requests for this conversation.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class LoadSessionResponse(Response):
|
|
69
|
+
"""Response from loading an existing session."""
|
|
70
|
+
|
|
71
|
+
models: SessionModelState | None = None
|
|
72
|
+
"""**UNSTABLE**
|
|
73
|
+
|
|
74
|
+
This capability is not part of the spec yet.
|
|
75
|
+
|
|
76
|
+
Initial model state if supported by the Agent
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
modes: SessionModeState | None = None
|
|
80
|
+
"""Initial mode state if supported by the Agent
|
|
81
|
+
|
|
82
|
+
See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class ForkSessionResponse(Response):
|
|
87
|
+
"""**UNSTABLE**: This capability is not part of the spec yet.
|
|
88
|
+
|
|
89
|
+
Response from forking an existing session.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
models: SessionModelState | None = None
|
|
93
|
+
"""**UNSTABLE**
|
|
94
|
+
|
|
95
|
+
This capability is not part of the spec yet.
|
|
96
|
+
|
|
97
|
+
Initial model state if supported by the Agent
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
modes: SessionModeState | None = None
|
|
101
|
+
"""Initial mode state if supported by the Agent
|
|
102
|
+
|
|
103
|
+
See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
session_id: str
|
|
107
|
+
"""Unique identifier for the newly created forked session."""
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class ResumeSessionResponse(Response):
|
|
111
|
+
"""**UNSTABLE**: This capability is not part of the spec yet.
|
|
112
|
+
|
|
113
|
+
Response from resuming an existing session.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
models: SessionModelState | None = None
|
|
117
|
+
"""**UNSTABLE**
|
|
118
|
+
|
|
119
|
+
This capability is not part of the spec yet.
|
|
120
|
+
|
|
121
|
+
Initial model state if supported by the Agent
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
modes: SessionModeState | None = None
|
|
125
|
+
"""Initial mode state if supported by the Agent
|
|
126
|
+
|
|
127
|
+
See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class SetSessionModeResponse(Response):
|
|
132
|
+
"""Response to `session/set_mode` method."""
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class SetSessionConfigOptionResponse(Response):
|
|
136
|
+
"""Response to `session/set_config_option` method."""
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class PromptResponse(Response):
|
|
140
|
+
"""Response from processing a user prompt.
|
|
141
|
+
|
|
142
|
+
See protocol docs: [Check for Completion](https://agentclientprotocol.com/protocol/prompt-turn#4-check-for-completion)
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
stop_reason: StopReason
|
|
146
|
+
"""Indicates why the agent stopped processing the turn."""
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class AuthenticateResponse(Response):
|
|
150
|
+
"""Response to authenticate method."""
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class InitializeResponse(Response):
|
|
154
|
+
"""Response from the initialize method.
|
|
155
|
+
|
|
156
|
+
Contains the negotiated protocol version and agent capabilities.
|
|
157
|
+
|
|
158
|
+
See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
agent_capabilities: AgentCapabilities | None = Field(default_factory=AgentCapabilities)
|
|
162
|
+
"""Capabilities supported by the agent."""
|
|
163
|
+
|
|
164
|
+
agent_info: Implementation | None = None
|
|
165
|
+
"""Information about the Agent name and version sent to the Client.
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
Note: in future versions of the protocol, this will be required."""
|
|
169
|
+
|
|
170
|
+
auth_methods: Sequence[AuthMethod] | None = Field(default_factory=list)
|
|
171
|
+
"""Authentication methods supported by the agent."""
|
|
172
|
+
|
|
173
|
+
protocol_version: int = Field(ge=0, le=65535)
|
|
174
|
+
"""The protocol version the client specified if supported by the agent.
|
|
175
|
+
|
|
176
|
+
Or the latest protocol version supported by the agent.
|
|
177
|
+
The client should disconnect, if it doesn't support this version.
|
|
178
|
+
"""
|
|
179
|
+
|
|
180
|
+
@classmethod
|
|
181
|
+
def create(
|
|
182
|
+
cls,
|
|
183
|
+
name: str,
|
|
184
|
+
title: str,
|
|
185
|
+
version: str,
|
|
186
|
+
protocol_version: int,
|
|
187
|
+
load_session: bool | None = False,
|
|
188
|
+
http_mcp_servers: bool = False,
|
|
189
|
+
sse_mcp_servers: bool = False,
|
|
190
|
+
audio_prompts: bool = False,
|
|
191
|
+
embedded_context_prompts: bool = False,
|
|
192
|
+
image_prompts: bool = False,
|
|
193
|
+
list_sessions: bool = False,
|
|
194
|
+
auth_methods: Sequence[AuthMethod] | None = None,
|
|
195
|
+
) -> Self:
|
|
196
|
+
"""Create an instance of AgentCapabilities.
|
|
197
|
+
|
|
198
|
+
Args:
|
|
199
|
+
name: The name of the agent.
|
|
200
|
+
title: The title of the agent.
|
|
201
|
+
version: The version of the agent.
|
|
202
|
+
protocol_version: The protocol version of the agent.
|
|
203
|
+
load_session: Whether the agent supports `session/load`.
|
|
204
|
+
http_mcp_servers: Whether the agent supports HTTP MCP servers.
|
|
205
|
+
sse_mcp_servers: Whether the agent supports SSE MCP servers.
|
|
206
|
+
audio_prompts: Whether the agent supports audio prompts.
|
|
207
|
+
embedded_context_prompts: Whether the agent supports embedded context prompts.
|
|
208
|
+
image_prompts: Whether the agent supports image prompts.
|
|
209
|
+
list_sessions: Whether the agent supports `session/list` (unstable).
|
|
210
|
+
auth_methods: The authentication methods supported by the agent.
|
|
211
|
+
"""
|
|
212
|
+
caps = AgentCapabilities.create(
|
|
213
|
+
load_session=load_session,
|
|
214
|
+
http_mcp_servers=http_mcp_servers,
|
|
215
|
+
sse_mcp_servers=sse_mcp_servers,
|
|
216
|
+
audio_prompts=audio_prompts,
|
|
217
|
+
embedded_context_prompts=embedded_context_prompts,
|
|
218
|
+
image_prompts=image_prompts,
|
|
219
|
+
list_sessions=list_sessions,
|
|
220
|
+
)
|
|
221
|
+
return cls(
|
|
222
|
+
agent_info=Implementation(name=name, title=title, version=version),
|
|
223
|
+
protocol_version=protocol_version,
|
|
224
|
+
agent_capabilities=caps,
|
|
225
|
+
auth_methods=auth_methods,
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
class ListSessionsResponse(Response):
|
|
230
|
+
"""**UNSTABLE**: This capability is not part of the spec yet.
|
|
231
|
+
|
|
232
|
+
Response from listing sessions.
|
|
233
|
+
"""
|
|
234
|
+
|
|
235
|
+
next_cursor: str | None = None
|
|
236
|
+
"""Opaque cursor token. If present, pass this in the next request's cursor parameter
|
|
237
|
+
to fetch the next page. If absent, there are no more results."""
|
|
238
|
+
|
|
239
|
+
sessions: Sequence[SessionInfo] = Field(default_factory=list)
|
|
240
|
+
"""Array of session information objects."""
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
AgentResponse = (
|
|
244
|
+
InitializeResponse
|
|
245
|
+
| AuthenticateResponse
|
|
246
|
+
| NewSessionResponse
|
|
247
|
+
| LoadSessionResponse
|
|
248
|
+
| ForkSessionResponse
|
|
249
|
+
| ResumeSessionResponse
|
|
250
|
+
| ListSessionsResponse
|
|
251
|
+
| SetSessionModeResponse
|
|
252
|
+
| SetSessionConfigOptionResponse
|
|
253
|
+
| PromptResponse
|
|
254
|
+
| SetSessionModelResponse
|
|
255
|
+
| CustomResponse
|
|
256
|
+
)
|