hud-python 0.4.25__tar.gz → 0.4.27__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.
Potentially problematic release.
This version of hud-python might be problematic. Click here for more details.
- {hud_python-0.4.25 → hud_python-0.4.27}/PKG-INFO +2 -2
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/base.py +42 -18
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/misc/response_agent.py +2 -1
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_version.py +1 -1
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/version.py +1 -1
- {hud_python-0.4.25 → hud_python-0.4.27}/pyproject.toml +2 -2
- {hud_python-0.4.25 → hud_python-0.4.27}/.gitignore +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/LICENSE +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/2048/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/2048/backend/pyproject.toml +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/todo/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/todo/backend/pyproject.toml +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/pyproject.toml +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/remote_browser/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/remote_browser/pyproject.toml +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/remote_browser/src/hud_controller/providers/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/text_2048/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/environments/text_2048/pyproject.toml +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/examples/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/__main__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/claude.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/grounded_openai.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/langchain.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/misc/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/openai.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/openai_chat_generic.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/test_base.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/test_claude.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/test_client.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/test_grounded_openai_agent.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/agents/tests/test_openai.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/__main__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/analyze.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/build.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/clone.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/debug.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/dev.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/eval.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/hf.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/list_func.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/pull.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/push.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/remove.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/pod.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/ssh.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/train.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/rl/utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_analyze.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_analyze_metadata.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_build.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_cli_init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_cli_main.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_clone.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_cursor.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_debug.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_list_func.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_main_module.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_mcp_server.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_pull.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_push.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_registry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/tests/test_utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/cursor.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/docker.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/environment.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/interactive.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/logging.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/metadata.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/registry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/remote_runner.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/runner.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/cli/utils/server.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/base.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/fastmcp.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/mcp_use.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/tests/test_client_integration.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/tests/test_fastmcp.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/tests/test_mcp_use_retry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/tests/test_protocol.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/utils/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/utils/mcp_use_retry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/utils/retry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/clients/utils/retry_transport.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/execution/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/execution/parallel.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/execution/runner.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/task.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/datasets/utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/misc/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/misc/claude_plays_pokemon.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/native/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/native/comparator.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/native/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/native/tests/test_comparator.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/native/tests/test_native_init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/collector.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/config.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/context.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/exporters.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/instrumentation.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/processors.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/otel/tests/test_processors.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/py.typed +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/context.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/helper/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/low_level.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/server.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/server/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/settings.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/exceptions.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/hints.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/requests.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/tests/test_exceptions.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/shared/tests/test_requests.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/instrument.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/job.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/replay.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/tests/test_replay.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/tests/test_trace.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/telemetry/trace.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/base.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/bash.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/computer/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/computer/anthropic.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/computer/hud.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/computer/openai.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/computer/settings.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/edit.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/base.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/pyautogui.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/tests/test_base_executor.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/tests/test_pyautogui_executor.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/xdo.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/config.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/grounded_tool.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/grounder.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/grounding/tests/test_grounded_tool.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/playwright.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/response.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/submit.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_base.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_bash.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_bash_extended.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_computer.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_computer_actions.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_edit.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_playwright_tool.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_response.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_tools.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_tools_init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/tests/test_utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/types.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/types.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/agent_factories.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/async_utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/hud_console.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/mcp.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/pretty_errors.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/progress.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/telemetry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/__init__.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_async_utils.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_init.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_mcp.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_progress.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/hud/utils/tests/test_telemetry.py +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/rl/README.md +0 -0
- {hud_python-0.4.25 → hud_python-0.4.27}/rl/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hud-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.27
|
|
4
4
|
Summary: SDK for the HUD platform.
|
|
5
5
|
Project-URL: Homepage, https://github.com/hud-evals/hud-python
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/hud-evals/hud-python/issues
|
|
@@ -41,7 +41,7 @@ Requires-Dist: hud-mcp-python-sdk>=3.13.2
|
|
|
41
41
|
Requires-Dist: hud-mcp-use-python-sdk>=2.3.16
|
|
42
42
|
Requires-Dist: opentelemetry-api>=1.34.1
|
|
43
43
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.34.1
|
|
44
|
-
Requires-Dist: opentelemetry-instrumentation-mcp
|
|
44
|
+
Requires-Dist: opentelemetry-instrumentation-mcp==0.47.0
|
|
45
45
|
Requires-Dist: opentelemetry-sdk>=1.34.1
|
|
46
46
|
Requires-Dist: pathspec>=0.12.1
|
|
47
47
|
Requires-Dist: prompt-toolkit==3.0.51
|
|
@@ -556,26 +556,10 @@ class MCPAgent(ABC):
|
|
|
556
556
|
|
|
557
557
|
all_tools = await self.mcp_client.list_tools()
|
|
558
558
|
|
|
559
|
-
# Filter tools
|
|
560
|
-
self._available_tools = []
|
|
561
|
-
self._tool_map = {}
|
|
562
|
-
|
|
563
|
-
# Track response tools by server
|
|
564
559
|
response_tools_by_server: dict[str, str] = {} # server_name -> tool_name
|
|
565
|
-
|
|
566
560
|
for tool in all_tools:
|
|
567
|
-
# Check if tool should be included
|
|
568
|
-
if self.allowed_tools and tool.name not in self.allowed_tools:
|
|
569
|
-
continue
|
|
570
|
-
if tool.name in self.disallowed_tools:
|
|
571
|
-
continue
|
|
572
|
-
|
|
573
|
-
self._available_tools.append(tool)
|
|
574
|
-
# Simplified mapping - just tool name to tool
|
|
575
|
-
self._tool_map[tool.name] = tool
|
|
576
|
-
|
|
577
|
-
# Track response tools
|
|
578
561
|
if "response" in tool.name or tool.name == "response":
|
|
562
|
+
self.console.debug(f"Found response tool: '{tool.name}'")
|
|
579
563
|
# Extract server name from tool name (e.g., "grader_response" -> "grader")
|
|
580
564
|
if "_" in tool.name:
|
|
581
565
|
server_name = tool.name.split("_", 1)[0]
|
|
@@ -583,27 +567,67 @@ class MCPAgent(ABC):
|
|
|
583
567
|
else:
|
|
584
568
|
response_tools_by_server["_default"] = tool.name
|
|
585
569
|
|
|
586
|
-
#
|
|
570
|
+
# Add response tool to lifecycle tools BEFORE filtering
|
|
587
571
|
if response_tools_by_server and hasattr(self.mcp_client, "mcp_config"):
|
|
588
572
|
# Get server names in order from mcp_config
|
|
589
573
|
server_names = list(self.mcp_client.mcp_config.keys())
|
|
574
|
+
self.console.debug(f"Server names: {server_names}")
|
|
590
575
|
|
|
591
576
|
# Try to find response tool from last server first
|
|
592
577
|
response_tool_name = None
|
|
593
578
|
for server_name in reversed(server_names):
|
|
594
579
|
if server_name in response_tools_by_server:
|
|
595
580
|
response_tool_name = response_tools_by_server[server_name]
|
|
581
|
+
self.console.debug(
|
|
582
|
+
f"Found response tool '{response_tool_name}' from server '{server_name}'"
|
|
583
|
+
)
|
|
596
584
|
break
|
|
597
585
|
|
|
598
586
|
# Fallback to any response tool
|
|
599
587
|
if not response_tool_name and response_tools_by_server:
|
|
600
588
|
response_tool_name = next(iter(response_tools_by_server.values()))
|
|
589
|
+
self.console.debug(f"Using fallback response tool '{response_tool_name}'")
|
|
601
590
|
|
|
602
591
|
# Add to lifecycle tools if found
|
|
603
592
|
if response_tool_name and response_tool_name not in self.lifecycle_tools:
|
|
604
593
|
self.console.debug(f"Auto-detected '{response_tool_name}' tool as a lifecycle tool")
|
|
605
594
|
self.response_tool_name = response_tool_name
|
|
606
595
|
self.lifecycle_tools.append(response_tool_name)
|
|
596
|
+
elif response_tool_name:
|
|
597
|
+
self.console.debug(
|
|
598
|
+
f"Response tool '{response_tool_name}' already in lifecycle_tools"
|
|
599
|
+
)
|
|
600
|
+
self.response_tool_name = response_tool_name
|
|
601
|
+
else:
|
|
602
|
+
self.console.debug("No response tools found or no mcp_config")
|
|
603
|
+
|
|
604
|
+
# Filter tools
|
|
605
|
+
self._available_tools = []
|
|
606
|
+
self._tool_map = {}
|
|
607
|
+
|
|
608
|
+
self.console.debug(f"All tools: {[t.name for t in all_tools]}")
|
|
609
|
+
self.console.debug(f"Allowed tools: {self.allowed_tools}")
|
|
610
|
+
self.console.debug(f"Disallowed tools: {self.disallowed_tools}")
|
|
611
|
+
self.console.debug(f"Lifecycle tools: {self.lifecycle_tools}")
|
|
612
|
+
|
|
613
|
+
for tool in all_tools:
|
|
614
|
+
# Lifecycle tools (setup, evaluate, response) should always be included
|
|
615
|
+
is_lifecycle = tool.name in self.lifecycle_tools
|
|
616
|
+
|
|
617
|
+
# Check if tool should be included
|
|
618
|
+
if not is_lifecycle:
|
|
619
|
+
if self.allowed_tools and tool.name not in self.allowed_tools:
|
|
620
|
+
self.console.debug(f"Skipping tool '{tool.name}' - not in allowed_tools")
|
|
621
|
+
continue
|
|
622
|
+
if tool.name in self.disallowed_tools:
|
|
623
|
+
self.console.debug(f"Skipping tool '{tool.name}' - in disallowed_tools")
|
|
624
|
+
continue
|
|
625
|
+
|
|
626
|
+
self.console.debug(
|
|
627
|
+
f"Adding tool '{tool.name}' to available tools (lifecycle={is_lifecycle})"
|
|
628
|
+
)
|
|
629
|
+
self._available_tools.append(tool)
|
|
630
|
+
self._tool_map[tool.name] = tool
|
|
607
631
|
|
|
608
632
|
# Check if all required tools are available
|
|
609
633
|
if self.required_tools:
|
|
@@ -34,7 +34,8 @@ class ResponseAgent:
|
|
|
34
34
|
|
|
35
35
|
- STOP: If the agent indicates it has successfully completed a task, even if phrased as a question
|
|
36
36
|
like "I have entered the right values into this form. Would you like me to do anything else?"
|
|
37
|
-
or "Here is the website. Is there any other information you need?"
|
|
37
|
+
or "Here is the website. Is there any other information you need?" or if the agent has
|
|
38
|
+
strongly determined it wants to stop the task.
|
|
38
39
|
|
|
39
40
|
- CONTINUE: If the agent is asking for clarification before proceeding with a task
|
|
40
41
|
like "I'm about to clear cookies from this website. Would you like me to proceed?"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "hud-python"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.27"
|
|
4
4
|
description = "SDK for the HUD platform."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11, <3.14"
|
|
@@ -27,7 +27,7 @@ dependencies = [
|
|
|
27
27
|
"questionary==2.1.0",
|
|
28
28
|
"prompt-toolkit==3.0.51",
|
|
29
29
|
# Telemetry
|
|
30
|
-
"opentelemetry-instrumentation-mcp
|
|
30
|
+
"opentelemetry-instrumentation-mcp==0.47.0",
|
|
31
31
|
"opentelemetry-api>=1.34.1",
|
|
32
32
|
"opentelemetry-sdk>=1.34.1",
|
|
33
33
|
"opentelemetry-exporter-otlp-proto-http>=1.34.1",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/2048/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.25 → hud_python-0.4.27}/environments/browser/apps/todo/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.25 → hud_python-0.4.27}/hud/tools/executors/tests/test_pyautogui_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|