decodingtrust-agent-sdk 0.2.1__tar.gz → 0.2.3__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.
- {decodingtrust_agent_sdk-0.2.1/decodingtrust_agent_sdk.egg-info → decodingtrust_agent_sdk-0.2.3}/PKG-INFO +8 -4
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/README.md +2 -2
- decodingtrust_agent_sdk-0.2.3/agent/__init__.py +50 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/src/agent.py +73 -5
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/src/utils.py +1 -1
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/src/agent.py +142 -3
- decodingtrust_agent_sdk-0.2.3/agent/hermes/__init__.py +10 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/example.py +143 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/src/__init__.py +14 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/src/agent.py +482 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/src/hermes_runner.py +158 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/src/mcp_proxy.py +427 -0
- decodingtrust_agent_sdk-0.2.3/agent/hermes/src/utils.py +191 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/langchain/src/agent.py +91 -18
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/src/agent.py +96 -3
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/src/utils.py +148 -22
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/agent.py +33 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/utils.py +49 -5
- decodingtrust_agent_sdk-0.2.3/agent/strands/__init__.py +5 -0
- decodingtrust_agent_sdk-0.2.3/agent/strands/example.py +243 -0
- decodingtrust_agent_sdk-0.2.3/agent/strands/src/__init__.py +3 -0
- decodingtrust_agent_sdk-0.2.3/agent/strands/src/agent.py +350 -0
- decodingtrust_agent_sdk-0.2.3/agent/strands/src/utils.py +232 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3/decodingtrust_agent_sdk.egg-info}/PKG-INFO +8 -4
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/decodingtrust_agent_sdk.egg-info/SOURCES.txt +16 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/decodingtrust_agent_sdk.egg-info/requires.txt +6 -1
- decodingtrust_agent_sdk-0.2.3/dt_arena/a2a_agents/generic/agent.py +151 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/config/env.yaml +55 -2
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/config/injection_mcp.yaml +15 -1
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/hospital/docker-compose-hub.yml +1 -1
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/whatsapp/docker-compose-hub.yml +8 -4
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/paypal/env_injection.py +20 -5
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/paypal/main.py +105 -16
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/telegram/main.py +96 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/whatsapp/main.py +44 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/agent.py +98 -46
- decodingtrust_agent_sdk-0.2.3/dt_arena/src/types/judge.py +145 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/task.py +10 -2
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/pii_disclosure.py +0 -26
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/paypal/helpers.py +14 -5
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/salesforce/helpers.py +14 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/utils/__init__.py +35 -9
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/whatsapp/helpers.py +20 -60
- decodingtrust_agent_sdk-0.2.3/dt_arena/utils/windows/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/eval/evaluation.py +5 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/eval/task_runner.py +51 -2
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/pyproject.toml +9 -2
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/__init__.py +28 -0
- decodingtrust_agent_sdk-0.2.3/utils/a2a_helpers.py +216 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/agent_helpers.py +23 -1
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/config.py +69 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/env_helpers.py +1 -13
- decodingtrust_agent_sdk-0.2.3/utils/injection_a2a_helpers.py +20 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/injection_helpers.py +75 -1
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/judge_helpers.py +48 -10
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/mcp_helpers.py +44 -12
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/task_executor.py +29 -6
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/task_helpers.py +13 -6
- decodingtrust_agent_sdk-0.2.1/agent/__init__.py +0 -30
- decodingtrust_agent_sdk-0.2.1/dt_arena/src/types/judge.py +0 -52
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/LICENSE +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/MANIFEST.in +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/src/mcp_proxy.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/src/mcp_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/langchain/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/langchain/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/langchain/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/langchain/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/src/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openaisdk/src/mcp_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/helpers/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/helpers/auth_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/mcp_proxy.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/openclaw/src/plugin_generator.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/prompts/react_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/async_helper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/mcp_react_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/native_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/pocketflow/src/nodes.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/browser/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/browser/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/browser/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/code/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/code/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/code/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/crm/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/crm/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/crm/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/customer-service/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/customer-service/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/customer-service/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/finance/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/finance/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/finance/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/legal/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/legal/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/legal/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/macos/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/macos/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/macos/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/medical/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/medical/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/medical/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/os-filesystem/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/os-filesystem/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/os-filesystem/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/research/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/research/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/research/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/telecom/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/telecom/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/telecom/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/travel/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/travel/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/travel/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/windows/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/windows/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/windows/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/workflow/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/workflow/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/benchmark/workflow/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/cli/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/cli/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/cli/scaffold.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/decodingtrust_agent_sdk.egg-info/dependency_links.txt +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/decodingtrust_agent_sdk.egg-info/entry_points.txt +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/decodingtrust_agent_sdk.egg-info/top_level.txt +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/src → decodingtrust_agent_sdk-0.2.3/dt_arena/a2a_agents/generic}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/config/mcp.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/arxiv/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/arxiv/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/atlassian/docker/docker-compose.dev.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/atlassian/docker/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/atlassian/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/atlassian/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/bigquery/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/booking/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/calendar/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/calendar/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/custom-website/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/customer_service/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/databricks/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/databricks/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/ecommerce/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/ers/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/ers/hrms/docker/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/finance/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/github/docker/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/github/docker/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/gmail/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/gmail/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/google-form/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/google-form/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/googledocs/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/googledocs/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/hospital/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/legal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/linkedin/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/macos/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/os-filesystem/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/os-filesystem/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/paypal/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/paypal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/research/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/research/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/salesforce_crm/docker-compose-hub.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/salesforce_crm/docker-compose.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/slack/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/slack/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/snowflake/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/snowflake/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/telecom/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/telecom/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/telegram/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/telegram/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/terminal/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/terminal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/travel/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/travel/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/whatsapp/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/windows/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/zoom/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/envs/zoom/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/atlassian/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/calendar/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/custom_website/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/customer_service/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/databricks/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/ecommerce/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/finance/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/github/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/gmail/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/google_form/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/googledocs/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/hospital/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/legal/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/macos/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/os-filesystem/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/research/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/salesforce/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/slack/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/snowflake/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/telecom/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/telegram/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/terminal/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/travel/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/whatsapp/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/windows/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/injection_mcp_server/zoom/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/atlassian/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/atlassian/test_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/bigquery/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/booking/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/browser/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/calendar/example_multi_user.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/calendar/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/calendar/test_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/customer_service/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/databricks/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/databricks/probe.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/ers/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/core/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/core/data_loader.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/core/portfolio.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/evaluation/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/evaluation/evaluator.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/evaluation/logger.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/config.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/content.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/html.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/locations.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/methods.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/injection/presets.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/run_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/run_web.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/extractor.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/extractor_minimal.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/extractor_simple.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/injection_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/account.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/browsing.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/social.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/trading.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/tools/utility.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/server/web.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/attack_pool.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/attack_runner.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/finra_requirements.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/finra_tasks.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/benchmark/malicious_tasks.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/tasks/redteam_suite/run_redteam_suite.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/finance/test_mcp_tools.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/github/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/gmail/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/google_form/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/googledocs/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/hospital/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/core/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/core/courtlistener_store.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/core/data_loader.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/core/document_store.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/core/matter_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/scripts/collect_data.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/server/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/legal/server/mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/macos/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/macos/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/os-filesystem/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/research/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/salesforce/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/slack/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/snowflake/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/snowflake/probe.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/telecom/mcp_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/telecom/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/terminal/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/travel/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/travel/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/windows/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/windows/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/mcp_server/zoom/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/src/hooks → decodingtrust_agent_sdk-0.2.3/dt_arena/src}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/src/types → decodingtrust_agent_sdk-0.2.3/dt_arena/src/hooks}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/hooks/audit_log.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/hooks/hooks.json +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/run_benign.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/finance → decodingtrust_agent_sdk-0.2.3/dt_arena/src/types}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/attacks.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/environment.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/hooks.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/red_teaming_trajectory.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/src/types/trajectory.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/atlassian/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/atlassian/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/bigquery/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/bigquery/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/calendar/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/calendar/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/cs_env_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/abusive_comms.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/bulk_destructive.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/cross_customer.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/email_exfiltration.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/financial_fraud.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/llm_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/policy_misrep.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/customer_service/judges/text_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/databricks/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/databricks/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/legal → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/finance}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/finance/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/github/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/github/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/gmail/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/gmail/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/google_form/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/google_form/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/macos → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/legal}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/legal/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/research → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/macos}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/macos/env_setup.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/macos/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/os_filesystem/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/os_filesystem/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/paypal/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/port_allocator.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/telegram → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/research}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/research/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/salesforce/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/slack/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/slack/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/snowflake/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/snowflake/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/telecom/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/telecom/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/terminal → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/telegram}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/telegram/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/travel → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/terminal}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/terminal/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/whatsapp → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/travel}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/travel/env_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/travel/llm_judge.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/travel/prompts.py +0 -0
- {decodingtrust_agent_sdk-0.2.1/dt_arena/utils/windows → decodingtrust_agent_sdk-0.2.3/dt_arena/utils/whatsapp}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/windows/env_reset.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/windows/env_setup.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/windows/exfil_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/windows/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/zoom/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/dt_arena/utils/zoom/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/eval/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/eval/_ui.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/setup.cfg +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/compose_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/eval_stats.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/injection_mcp_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/judge_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/llm.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/logging.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/mcp_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/memory_guard.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/red_teaming_sandbox.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/reset_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/resource_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/skill_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/utils/template_helpers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: decodingtrust-agent-sdk
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: DecodingTrust Agent Platform (DTap) — A controllable and interactive red-teaming platform for AI agents
|
|
5
5
|
Author-email: DTap Team <zhaorun@uchicago.edu>
|
|
6
6
|
License: Apache License
|
|
@@ -242,6 +242,7 @@ Requires-Dist: click>=8.0.0
|
|
|
242
242
|
Requires-Dist: rich>=13.0.0
|
|
243
243
|
Requires-Dist: pandas>=2.0.0
|
|
244
244
|
Requires-Dist: psutil>=5.9.0
|
|
245
|
+
Requires-Dist: huggingface_hub>=0.20.0
|
|
245
246
|
Provides-Extra: openai
|
|
246
247
|
Requires-Dist: openai>=2.6.1; extra == "openai"
|
|
247
248
|
Requires-Dist: openai-agents>=0.8.4; extra == "openai"
|
|
@@ -252,10 +253,13 @@ Requires-Dist: claude-agent-sdk>=0.1.18; extra == "claude"
|
|
|
252
253
|
Requires-Dist: claude-code-sdk>=0.0.25; extra == "claude"
|
|
253
254
|
Provides-Extra: google
|
|
254
255
|
Requires-Dist: google-adk>=1.27.5; extra == "google"
|
|
256
|
+
Requires-Dist: a2a-sdk<0.4.0,>=0.3.22; extra == "google"
|
|
255
257
|
Requires-Dist: google-generativeai>=0.3.0; extra == "google"
|
|
256
258
|
Requires-Dist: google-genai>=1.0.0; extra == "google"
|
|
257
259
|
Requires-Dist: google-api-core>=2.28.0; extra == "google"
|
|
258
260
|
Requires-Dist: google-api-python-client>=2.100.0; extra == "google"
|
|
261
|
+
Provides-Extra: strands
|
|
262
|
+
Requires-Dist: strands-agents>=1.40.0; extra == "strands"
|
|
259
263
|
Provides-Extra: langchain
|
|
260
264
|
Requires-Dist: langchain>=0.3.0; extra == "langchain"
|
|
261
265
|
Requires-Dist: langchain-core>=0.3.0; extra == "langchain"
|
|
@@ -264,7 +268,7 @@ Requires-Dist: langchain-anthropic>=0.2.0; extra == "langchain"
|
|
|
264
268
|
Provides-Extra: pocketflow
|
|
265
269
|
Requires-Dist: pocketflow==0.0.3; extra == "pocketflow"
|
|
266
270
|
Provides-Extra: all
|
|
267
|
-
Requires-Dist: decodingtrust-agent-sdk[claude,google,langchain,openai,pocketflow]; extra == "all"
|
|
271
|
+
Requires-Dist: decodingtrust-agent-sdk[claude,google,langchain,openai,pocketflow,strands]; extra == "all"
|
|
268
272
|
Provides-Extra: dev
|
|
269
273
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
270
274
|
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
@@ -275,7 +279,7 @@ Dynamic: license-file
|
|
|
275
279
|
|
|
276
280
|
<div align="center">
|
|
277
281
|
|
|
278
|
-
<img src="dt-logo-new.png" alt="DecodingTrust-Agent" width="180"/>
|
|
282
|
+
<img src="https://raw.githubusercontent.com/AI-secure/DecodingTrust-Agent/main/dt-logo-new.png" alt="DecodingTrust-Agent" width="180"/>
|
|
279
283
|
|
|
280
284
|
# DecodingTrust-Agent Platform (DTAP)
|
|
281
285
|
|
|
@@ -284,7 +288,7 @@ Dynamic: license-file
|
|
|
284
288
|
[](https://github.com/AI-secure/DecodingTrust-Agent/stargazers)
|
|
285
289
|
[](https://github.com/AI-secure/DecodingTrust-Agent/commits/main)
|
|
286
290
|
[](https://github.com/AI-secure/DecodingTrust-Agent/graphs/contributors)
|
|
287
|
-
[](LICENSE)
|
|
291
|
+
[](https://github.com/AI-secure/DecodingTrust-Agent/blob/main/LICENSE)
|
|
288
292
|
[](https://decodingtrust-agent.com)
|
|
289
293
|
[](https://decodingtrust-agent.com)
|
|
290
294
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="dt-logo-new.png" alt="DecodingTrust-Agent" width="180"/>
|
|
3
|
+
<img src="https://raw.githubusercontent.com/AI-secure/DecodingTrust-Agent/main/dt-logo-new.png" alt="DecodingTrust-Agent" width="180"/>
|
|
4
4
|
|
|
5
5
|
# DecodingTrust-Agent Platform (DTAP)
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://github.com/AI-secure/DecodingTrust-Agent/stargazers)
|
|
10
10
|
[](https://github.com/AI-secure/DecodingTrust-Agent/commits/main)
|
|
11
11
|
[](https://github.com/AI-secure/DecodingTrust-Agent/graphs/contributors)
|
|
12
|
-
[](LICENSE)
|
|
12
|
+
[](https://github.com/AI-secure/DecodingTrust-Agent/blob/main/LICENSE)
|
|
13
13
|
[](https://decodingtrust-agent.com)
|
|
14
14
|
[](https://decodingtrust-agent.com)
|
|
15
15
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"""Agent architecture registry.
|
|
2
|
+
|
|
3
|
+
Each adapter is imported defensively: a missing optional dependency for one
|
|
4
|
+
framework (e.g. ``pocketflow``, ``strands``) must not break importing the whole
|
|
5
|
+
``agent`` package or any other adapter. Unavailable adapters are simply omitted
|
|
6
|
+
from ``AGENT_REGISTRY`` (mirrors the lazy registry in ``utils.agent_helpers``).
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
# (registry_key, module_path, class_name)
|
|
10
|
+
_ADAPTERS = [
|
|
11
|
+
("pocketflow", "agent.pocketflow.src.agent", "MCPReactAgent"),
|
|
12
|
+
("openaisdk", "agent.openaisdk.src.agent", "OpenAISDKAgent"),
|
|
13
|
+
("googleadk", "agent.googleadk.src.agent", "GoogleADKAgent"),
|
|
14
|
+
("langchain", "agent.langchain.src.agent", "LangChainAgent"),
|
|
15
|
+
("claudesdk", "agent.claudesdk.src.agent", "ClaudeSDKAgent"),
|
|
16
|
+
("openclaw", "agent.openclaw.src.agent", "OpenClawAgent"),
|
|
17
|
+
("strands", "agent.strands.src.agent", "StrandsSDKAgent"),
|
|
18
|
+
("hermes", "agent.hermes.src.agent", "HermesAgent"),
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
# Agent architecture registry (only successfully-imported adapters)
|
|
22
|
+
AGENT_REGISTRY = {}
|
|
23
|
+
|
|
24
|
+
import importlib as _importlib
|
|
25
|
+
|
|
26
|
+
for _key, _module_path, _class_name in _ADAPTERS:
|
|
27
|
+
try:
|
|
28
|
+
_mod = _importlib.import_module(_module_path)
|
|
29
|
+
_cls = getattr(_mod, _class_name)
|
|
30
|
+
except Exception as _e: # ImportError or any load-time error from optional deps
|
|
31
|
+
globals()[_class_name] = None
|
|
32
|
+
print(f"[WARNING] Agent '{_key}' not available: {_e}")
|
|
33
|
+
else:
|
|
34
|
+
globals()[_class_name] = _cls
|
|
35
|
+
AGENT_REGISTRY[_key] = _cls
|
|
36
|
+
|
|
37
|
+
AVAILABLE_ARCHITECTURES = list(AGENT_REGISTRY.keys())
|
|
38
|
+
|
|
39
|
+
__all__ = [
|
|
40
|
+
"MCPReactAgent",
|
|
41
|
+
"OpenAISDKAgent",
|
|
42
|
+
"GoogleADKAgent",
|
|
43
|
+
"LangChainAgent",
|
|
44
|
+
"ClaudeSDKAgent",
|
|
45
|
+
"OpenClawAgent",
|
|
46
|
+
"StrandsSDKAgent",
|
|
47
|
+
"HermesAgent",
|
|
48
|
+
"AGENT_REGISTRY",
|
|
49
|
+
"AVAILABLE_ARCHITECTURES",
|
|
50
|
+
]
|
{decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/claudesdk/src/agent.py
RENAMED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import shutil
|
|
3
|
+
import tempfile
|
|
2
4
|
import uuid
|
|
3
5
|
from datetime import datetime
|
|
4
6
|
from typing import Dict, Any, Optional, List, Union
|
|
5
7
|
|
|
6
|
-
from
|
|
8
|
+
from claude_agent_sdk import (
|
|
9
|
+
AgentDefinition,
|
|
10
|
+
ClaudeAgentOptions,
|
|
7
11
|
ClaudeSDKClient,
|
|
8
|
-
ClaudeCodeOptions,
|
|
9
12
|
ClaudeSDKError,
|
|
10
13
|
Message,
|
|
11
14
|
AssistantMessage,
|
|
@@ -67,9 +70,12 @@ class ClaudeSDKAgent(Agent):
|
|
|
67
70
|
# Skill injection temp directory
|
|
68
71
|
self._skill_temp_dir: Optional[str] = None
|
|
69
72
|
|
|
73
|
+
# Per-instance Claude Code home.
|
|
74
|
+
self._claude_home: str = tempfile.mkdtemp(prefix="claude-home-")
|
|
75
|
+
|
|
70
76
|
# Claude SDK client for multi-turn conversations
|
|
71
77
|
self._client: Optional[ClaudeSDKClient] = None
|
|
72
|
-
self._options: Optional[
|
|
78
|
+
self._options: Optional[ClaudeAgentOptions] = None
|
|
73
79
|
|
|
74
80
|
# Multi-turn conversation state
|
|
75
81
|
self._trace_id: Optional[str] = None
|
|
@@ -122,6 +128,10 @@ class ClaudeSDKAgent(Agent):
|
|
|
122
128
|
"permission_mode": "bypassPermissions",
|
|
123
129
|
"max_turns": self.runtime_config.max_turns,
|
|
124
130
|
"model": self.runtime_config.model,
|
|
131
|
+
# Isolate Claude Code state per instance so parallel victims don't
|
|
132
|
+
# share sessions/locks and interrupt each other. Merge onto the
|
|
133
|
+
# current environment so API keys and proxy settings are preserved.
|
|
134
|
+
"env": {**os.environ, "CLAUDE_CONFIG_DIR": self._claude_home},
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
if self._skill_temp_dir:
|
|
@@ -144,10 +154,14 @@ class ClaudeSDKAgent(Agent):
|
|
|
144
154
|
for server_config, server_name in zip(self.mcp_servers, self.mcp_server_names):
|
|
145
155
|
self.mcp_server_configs[server_name] = server_config
|
|
146
156
|
|
|
157
|
+
# Create inline subagents (non-A2A) — also registers their MCP servers
|
|
158
|
+
agents = self._create_sub_agents(self.mcp_server_configs)
|
|
159
|
+
|
|
147
160
|
mcp = self.mcp_server_configs if self.mcp_server_configs else None
|
|
148
161
|
options_kwargs = self._build_options_kwargs(mcp_servers=mcp)
|
|
162
|
+
options_kwargs["agents"] = agents
|
|
149
163
|
|
|
150
|
-
self._options =
|
|
164
|
+
self._options = ClaudeAgentOptions(**options_kwargs)
|
|
151
165
|
|
|
152
166
|
# Create and connect the client for multi-turn conversations
|
|
153
167
|
self._client = ClaudeSDKClient(options=self._options)
|
|
@@ -204,11 +218,15 @@ class ClaudeSDKAgent(Agent):
|
|
|
204
218
|
# Store server names for reference
|
|
205
219
|
self.mcp_server_names = list(sdk_mcp_servers.keys())
|
|
206
220
|
|
|
221
|
+
# Create inline subagents (non-A2A) — also registers their MCP servers
|
|
222
|
+
agents = self._create_sub_agents(sdk_mcp_servers)
|
|
223
|
+
|
|
207
224
|
# Build Claude SDK options with SDK MCP servers
|
|
208
225
|
mcp = sdk_mcp_servers if sdk_mcp_servers else None
|
|
209
226
|
options_kwargs = self._build_options_kwargs(mcp_servers=mcp)
|
|
227
|
+
options_kwargs["agents"] = agents
|
|
210
228
|
|
|
211
|
-
self._options =
|
|
229
|
+
self._options = ClaudeAgentOptions(**options_kwargs)
|
|
212
230
|
|
|
213
231
|
# Create and connect the client
|
|
214
232
|
self._client = ClaudeSDKClient(options=self._options)
|
|
@@ -247,6 +265,52 @@ class ClaudeSDKAgent(Agent):
|
|
|
247
265
|
else:
|
|
248
266
|
raise ValueError(f"Unsupported transport type: {server_config.transport}")
|
|
249
267
|
|
|
268
|
+
def _create_sub_agents(self, mcp_servers_dict: Dict[str, Any]) -> Optional[Dict[str, AgentDefinition]]:
|
|
269
|
+
"""
|
|
270
|
+
Create subagent definitions from config and register their MCP servers.
|
|
271
|
+
|
|
272
|
+
For each non-A2A subagent, registers its MCP servers into the provided
|
|
273
|
+
mcp_servers_dict (top-level) so the subagent can access them, and builds
|
|
274
|
+
an AgentDefinition.
|
|
275
|
+
|
|
276
|
+
Args:
|
|
277
|
+
mcp_servers_dict: Top-level MCP servers dict to merge subagent servers into
|
|
278
|
+
|
|
279
|
+
Returns:
|
|
280
|
+
Dict of agent definitions, or None if no subagents configured
|
|
281
|
+
"""
|
|
282
|
+
if not self.config.sub_agents:
|
|
283
|
+
return None
|
|
284
|
+
|
|
285
|
+
agents: Dict[str, AgentDefinition] = {}
|
|
286
|
+
|
|
287
|
+
for sub_config in self.config.sub_agents:
|
|
288
|
+
if sub_config.a2a:
|
|
289
|
+
# A2A subagents are handled separately
|
|
290
|
+
continue
|
|
291
|
+
|
|
292
|
+
# Register subagent's MCP servers at the top level
|
|
293
|
+
sub_server_names = []
|
|
294
|
+
for server_config in sub_config.mcp_servers:
|
|
295
|
+
if server_config.enabled:
|
|
296
|
+
mcp_servers_dict[server_config.name] = self._create_mcp_server(server_config)
|
|
297
|
+
sub_server_names.append(server_config.name)
|
|
298
|
+
|
|
299
|
+
description = sub_config.description or f"Subagent: {sub_config.name}"
|
|
300
|
+
|
|
301
|
+
# Build tools list: MCP tool glob patterns for this subagent's servers
|
|
302
|
+
tools = [f"mcp__{name}__*" for name in sub_server_names]
|
|
303
|
+
|
|
304
|
+
print(f"[SUBAGENT] Creating AgentDefinition '{sub_config.name}' with {len(sub_server_names)} MCP servers")
|
|
305
|
+
|
|
306
|
+
agents[sub_config.name] = AgentDefinition(
|
|
307
|
+
description=description,
|
|
308
|
+
prompt=sub_config.system_prompt,
|
|
309
|
+
tools=tools if tools else None,
|
|
310
|
+
)
|
|
311
|
+
|
|
312
|
+
return agents if agents else None
|
|
313
|
+
|
|
250
314
|
async def run(
|
|
251
315
|
self,
|
|
252
316
|
user_input: Union[str, List[str]],
|
|
@@ -398,3 +462,7 @@ class ClaudeSDKAgent(Agent):
|
|
|
398
462
|
if self._skill_temp_dir:
|
|
399
463
|
cleanup_temp_directory(self._skill_temp_dir)
|
|
400
464
|
self._skill_temp_dir = None
|
|
465
|
+
|
|
466
|
+
# Clean up per-instance Claude Code home
|
|
467
|
+
if self._claude_home and os.path.isdir(self._claude_home):
|
|
468
|
+
shutil.rmtree(self._claude_home, ignore_errors=True)
|
{decodingtrust_agent_sdk-0.2.1 → decodingtrust_agent_sdk-0.2.3}/agent/googleadk/src/agent.py
RENAMED
|
@@ -6,6 +6,8 @@ from typing import Dict, Any, Optional, List, Union
|
|
|
6
6
|
|
|
7
7
|
from google.genai import types
|
|
8
8
|
from google.adk.agents.llm_agent import LlmAgent
|
|
9
|
+
from google.adk.agents.remote_a2a_agent import RemoteA2aAgent, AGENT_CARD_WELL_KNOWN_PATH
|
|
10
|
+
from google.adk.models.lite_llm import LiteLlm
|
|
9
11
|
from google.adk.runners import Runner
|
|
10
12
|
from google.adk.sessions import InMemorySessionService
|
|
11
13
|
from google.adk.artifacts.in_memory_artifact_service import InMemoryArtifactService
|
|
@@ -15,7 +17,13 @@ from google.adk.tools.mcp_tool.mcp_session_manager import (
|
|
|
15
17
|
StdioServerParameters,
|
|
16
18
|
)
|
|
17
19
|
|
|
18
|
-
from dt_arena.src.types.agent import
|
|
20
|
+
from dt_arena.src.types.agent import (
|
|
21
|
+
Agent,
|
|
22
|
+
AgentConfig,
|
|
23
|
+
RuntimeConfig,
|
|
24
|
+
MCPServerConfig,
|
|
25
|
+
AgentResult,
|
|
26
|
+
)
|
|
19
27
|
from dt_arena.src.types.trajectory import Trajectory
|
|
20
28
|
|
|
21
29
|
from .mcp_wrapper import McpToolset
|
|
@@ -66,6 +74,7 @@ class GoogleADKAgent(Agent):
|
|
|
66
74
|
|
|
67
75
|
# Google ADK specific components
|
|
68
76
|
self.toolsets: List[McpToolset] = []
|
|
77
|
+
self.subagent_toolsets: List[McpToolset] = [] # Track subagent MCP toolsets for cleanup
|
|
69
78
|
self.session_service = None
|
|
70
79
|
self.artifact_service = None
|
|
71
80
|
self.runner = None
|
|
@@ -106,6 +115,31 @@ class GoogleADKAgent(Agent):
|
|
|
106
115
|
return None
|
|
107
116
|
return load_skills_as_toolset(self._skill_temp_dir, skill_subpath="skills")
|
|
108
117
|
|
|
118
|
+
def _get_model(self):
|
|
119
|
+
"""
|
|
120
|
+
Get the appropriate model object for LlmAgent.
|
|
121
|
+
|
|
122
|
+
For Gemini models, returns the model string directly.
|
|
123
|
+
For non-Gemini models (OpenAI, Anthropic), wraps in LiteLlm with provider prefix.
|
|
124
|
+
|
|
125
|
+
Returns:
|
|
126
|
+
str or LiteLlm: Model string for Gemini, LiteLlm wrapper for others
|
|
127
|
+
"""
|
|
128
|
+
model = self.runtime_config.model
|
|
129
|
+
|
|
130
|
+
# Check if provider prefix already present
|
|
131
|
+
if "/" in model:
|
|
132
|
+
return LiteLlm(model=model)
|
|
133
|
+
|
|
134
|
+
# Simple matching for non-Gemini models
|
|
135
|
+
if "gpt" in model.lower():
|
|
136
|
+
return LiteLlm(model=f"openai/{model}")
|
|
137
|
+
elif "claude" in model.lower():
|
|
138
|
+
return LiteLlm(model=f"anthropic/{model}")
|
|
139
|
+
|
|
140
|
+
# Default: assume Gemini model, pass directly
|
|
141
|
+
return model
|
|
142
|
+
|
|
109
143
|
async def initialize(self) -> None:
|
|
110
144
|
"""Initialize agent and connect to MCP servers"""
|
|
111
145
|
if not self.config:
|
|
@@ -129,12 +163,16 @@ class GoogleADKAgent(Agent):
|
|
|
129
163
|
if skill_toolset:
|
|
130
164
|
agent_tools.append(skill_toolset)
|
|
131
165
|
|
|
166
|
+
# Create subagents if configured
|
|
167
|
+
sub_agents = await self._create_sub_agents()
|
|
168
|
+
|
|
132
169
|
# Create Google ADK agent instance
|
|
133
170
|
self.agent = LlmAgent(
|
|
134
|
-
model=self.
|
|
171
|
+
model=self._get_model(),
|
|
135
172
|
name=self.config.name,
|
|
136
173
|
instruction=self.config.system_prompt,
|
|
137
174
|
tools=agent_tools,
|
|
175
|
+
sub_agents=sub_agents or [],
|
|
138
176
|
)
|
|
139
177
|
|
|
140
178
|
# Create runner
|
|
@@ -152,6 +190,97 @@ class GoogleADKAgent(Agent):
|
|
|
152
190
|
user_id='user_default'
|
|
153
191
|
)
|
|
154
192
|
|
|
193
|
+
async def _create_sub_agents(self) -> List[Union[LlmAgent, RemoteA2aAgent]]:
|
|
194
|
+
"""
|
|
195
|
+
Create subagents from config.
|
|
196
|
+
|
|
197
|
+
Returns:
|
|
198
|
+
List of LlmAgent (non-A2A) or RemoteA2aAgent (A2A) instances
|
|
199
|
+
"""
|
|
200
|
+
sub_agents = []
|
|
201
|
+
|
|
202
|
+
for sub_config in self.config.sub_agents:
|
|
203
|
+
if sub_config.a2a:
|
|
204
|
+
# A2A remote subagent
|
|
205
|
+
sub_agent = await self._create_a2a_subagent(sub_config)
|
|
206
|
+
else:
|
|
207
|
+
# Inline (non-A2A) subagent
|
|
208
|
+
sub_agent = await self._create_inline_subagent(sub_config)
|
|
209
|
+
|
|
210
|
+
if sub_agent:
|
|
211
|
+
sub_agents.append(sub_agent)
|
|
212
|
+
|
|
213
|
+
return sub_agents
|
|
214
|
+
|
|
215
|
+
async def _create_a2a_subagent(self, sub_config: AgentConfig) -> RemoteA2aAgent:
|
|
216
|
+
"""
|
|
217
|
+
Create an A2A remote subagent.
|
|
218
|
+
|
|
219
|
+
Args:
|
|
220
|
+
sub_config: Subagent configuration with a2a=True
|
|
221
|
+
|
|
222
|
+
Returns:
|
|
223
|
+
RemoteA2aAgent instance
|
|
224
|
+
"""
|
|
225
|
+
port = sub_config.port or 9001
|
|
226
|
+
|
|
227
|
+
# Build agent card URL
|
|
228
|
+
agent_card_url = f"http://localhost:{port}{AGENT_CARD_WELL_KNOWN_PATH}"
|
|
229
|
+
|
|
230
|
+
# Use description from config or generate default
|
|
231
|
+
description = sub_config.description or f"Remote A2A agent: {sub_config.name}"
|
|
232
|
+
|
|
233
|
+
# Apply A2A injection if configured
|
|
234
|
+
if self.runtime_config.a2a_injection:
|
|
235
|
+
injection = self.runtime_config.a2a_injection.get(sub_config.name)
|
|
236
|
+
if injection:
|
|
237
|
+
if injection.type == "suffix":
|
|
238
|
+
description = f"{description}\n{injection.content}"
|
|
239
|
+
print(f"[A2A INJECTION] Applied suffix injection to '{sub_config.name}'")
|
|
240
|
+
elif injection.type == "override":
|
|
241
|
+
description = injection.content
|
|
242
|
+
print(f"[A2A INJECTION] Applied override injection to '{sub_config.name}'")
|
|
243
|
+
|
|
244
|
+
print(f"[A2A] Creating RemoteA2aAgent '{sub_config.name}' at {agent_card_url}")
|
|
245
|
+
|
|
246
|
+
return RemoteA2aAgent(
|
|
247
|
+
name=sub_config.name,
|
|
248
|
+
description=description,
|
|
249
|
+
agent_card=agent_card_url,
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
async def _create_inline_subagent(self, sub_config: AgentConfig) -> LlmAgent:
|
|
253
|
+
"""
|
|
254
|
+
Create an inline (non-A2A) subagent.
|
|
255
|
+
|
|
256
|
+
Args:
|
|
257
|
+
sub_config: Subagent configuration with a2a=False
|
|
258
|
+
|
|
259
|
+
Returns:
|
|
260
|
+
LlmAgent instance
|
|
261
|
+
"""
|
|
262
|
+
# Load MCP servers for this subagent
|
|
263
|
+
sub_toolsets = []
|
|
264
|
+
for server_config in sub_config.mcp_servers:
|
|
265
|
+
if server_config.enabled:
|
|
266
|
+
toolset = self._create_mcp_server(server_config)
|
|
267
|
+
sub_toolsets.append(toolset)
|
|
268
|
+
# Track for cleanup
|
|
269
|
+
self.subagent_toolsets.append(toolset)
|
|
270
|
+
|
|
271
|
+
# Use description from config
|
|
272
|
+
description = sub_config.description or f"Subagent: {sub_config.name}"
|
|
273
|
+
|
|
274
|
+
print(f"[SUBAGENT] Creating inline LlmAgent '{sub_config.name}' with {len(sub_toolsets)} MCP servers")
|
|
275
|
+
|
|
276
|
+
return LlmAgent(
|
|
277
|
+
model=self._get_model(),
|
|
278
|
+
name=sub_config.name,
|
|
279
|
+
instruction=sub_config.system_prompt,
|
|
280
|
+
description=description,
|
|
281
|
+
tools=sub_toolsets if sub_toolsets else None,
|
|
282
|
+
)
|
|
283
|
+
|
|
155
284
|
def _create_mcp_server(self, server_config: MCPServerConfig) -> Any:
|
|
156
285
|
"""
|
|
157
286
|
Create Google ADK-specific MCP toolset instance.
|
|
@@ -384,7 +513,7 @@ class GoogleADKAgent(Agent):
|
|
|
384
513
|
# Reset conversation state
|
|
385
514
|
self.reset_conversation()
|
|
386
515
|
|
|
387
|
-
# Close all MCP toolset connections
|
|
516
|
+
# Close all MCP toolset connections (main agent)
|
|
388
517
|
for toolset in self.toolsets:
|
|
389
518
|
try:
|
|
390
519
|
await toolset.close()
|
|
@@ -399,3 +528,13 @@ class GoogleADKAgent(Agent):
|
|
|
399
528
|
if self._skill_temp_dir:
|
|
400
529
|
cleanup_temp_directory(self._skill_temp_dir)
|
|
401
530
|
self._skill_temp_dir = None
|
|
531
|
+
|
|
532
|
+
# Close all subagent MCP toolset connections
|
|
533
|
+
for toolset in self.subagent_toolsets:
|
|
534
|
+
try:
|
|
535
|
+
await toolset.close()
|
|
536
|
+
except asyncio.CancelledError:
|
|
537
|
+
pass
|
|
538
|
+
except Exception as e:
|
|
539
|
+
print(f"[WARNING] Failed to cleanup subagent toolset: {e}")
|
|
540
|
+
self.subagent_toolsets.clear()
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from .src.agent import HermesAgent
|
|
2
|
+
from .src.mcp_proxy import HermesMCPProxyServer, HermesMCPProxyManager
|
|
3
|
+
from .src.utils import HermesTrajectoryConverter
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"HermesAgent",
|
|
7
|
+
"HermesMCPProxyServer",
|
|
8
|
+
"HermesMCPProxyManager",
|
|
9
|
+
"HermesTrajectoryConverter",
|
|
10
|
+
]
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Hermes Agent Example - CLI Interface
|
|
4
|
+
|
|
5
|
+
Run the Hermes (NousResearch/hermes-agent) adapter against a DT-Arena config,
|
|
6
|
+
with support for attack evaluation via tool-description injection and prompt
|
|
7
|
+
injection.
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
python agent/hermes/example.py --config path/to/config.yaml
|
|
11
|
+
python agent/hermes/example.py --config path/to/config.yaml --model openai/gpt-4o
|
|
12
|
+
python agent/hermes/example.py --config path/to/config.yaml --debug
|
|
13
|
+
|
|
14
|
+
Prerequisites:
|
|
15
|
+
- hermes-agent installed in this environment (pip install hermes-agent)
|
|
16
|
+
- Provider API key in env (OPENAI_API_KEY / ANTHROPIC_API_KEY / OPENROUTER_API_KEY / ...)
|
|
17
|
+
|
|
18
|
+
Environment Variables:
|
|
19
|
+
HERMES_TIMEOUT_SECONDS - Full-run subprocess timeout (default: 1000)
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
import os
|
|
23
|
+
import sys
|
|
24
|
+
import asyncio
|
|
25
|
+
import argparse
|
|
26
|
+
|
|
27
|
+
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../.."))
|
|
28
|
+
|
|
29
|
+
from dt_arena.src.types.agent import AgentConfig, RuntimeConfig
|
|
30
|
+
from dt_arena.src.types.task import TaskConfig, AttackConfig
|
|
31
|
+
|
|
32
|
+
from agent.hermes import HermesAgent
|
|
33
|
+
from utils.injection_helpers import (
|
|
34
|
+
build_tool_injections_from_config,
|
|
35
|
+
build_skill_injections_from_config,
|
|
36
|
+
apply_prompt_injections,
|
|
37
|
+
)
|
|
38
|
+
from utils.task_helpers import extract_dataset_path
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
async def main():
|
|
42
|
+
parser = argparse.ArgumentParser(description="Run Hermes Agent with a DT-Arena config file")
|
|
43
|
+
parser.add_argument("--config", type=str, required=True,
|
|
44
|
+
help="Path to YAML configuration file (Task, Agent, Attack sections)")
|
|
45
|
+
parser.add_argument("--model", type=str, default="anthropic/claude-sonnet-4.6",
|
|
46
|
+
help="Model to use (default: anthropic/claude-sonnet-4.6)")
|
|
47
|
+
parser.add_argument("--temperature", type=float, default=0.1, help="Sampling temperature")
|
|
48
|
+
parser.add_argument("--max-turns", type=int, default=30, help="Maximum tool-calling iterations")
|
|
49
|
+
parser.add_argument("--output-dir", type=str, default=None, help="Output directory")
|
|
50
|
+
parser.add_argument("--debug", action="store_true", help="Enable debug logging")
|
|
51
|
+
args = parser.parse_args()
|
|
52
|
+
|
|
53
|
+
config_path = args.config
|
|
54
|
+
if not os.path.exists(config_path):
|
|
55
|
+
print(f"[ERROR] Configuration file not found: {config_path}")
|
|
56
|
+
sys.exit(1)
|
|
57
|
+
|
|
58
|
+
dataset_path = extract_dataset_path(config_path)
|
|
59
|
+
base_output_dir = args.output_dir or os.path.join(os.getcwd(), "results")
|
|
60
|
+
output_dir = os.path.join(base_output_dir, "hermes", dataset_path)
|
|
61
|
+
os.makedirs(output_dir, exist_ok=True)
|
|
62
|
+
|
|
63
|
+
print(f"[INFO] Config: {config_path}")
|
|
64
|
+
print(f"[INFO] Model: {args.model}")
|
|
65
|
+
print(f"[INFO] Output: {output_dir}")
|
|
66
|
+
print("-" * 80)
|
|
67
|
+
|
|
68
|
+
try:
|
|
69
|
+
task_config = TaskConfig.from_yaml(config_path)
|
|
70
|
+
agent_config = AgentConfig.from_yaml(config_path)
|
|
71
|
+
attack_config = AttackConfig.from_yaml(config_path)
|
|
72
|
+
|
|
73
|
+
mcp_injection = build_tool_injections_from_config(attack_config)
|
|
74
|
+
skill_injection = build_skill_injections_from_config(attack_config)
|
|
75
|
+
|
|
76
|
+
runtime_config = RuntimeConfig(
|
|
77
|
+
model=args.model,
|
|
78
|
+
temperature=args.temperature,
|
|
79
|
+
max_turns=args.max_turns,
|
|
80
|
+
output_dir=output_dir,
|
|
81
|
+
mcp_injection=mcp_injection,
|
|
82
|
+
skill_injection=skill_injection,
|
|
83
|
+
debug=args.debug,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
agent = HermesAgent(agent_config=agent_config, runtime_config=runtime_config)
|
|
87
|
+
|
|
88
|
+
print(f"\n[TASK] Task ID: {task_config.task_id}")
|
|
89
|
+
print(f"[TASK] Domain: {task_config.domain}")
|
|
90
|
+
if attack_config:
|
|
91
|
+
print(f"[ATTACK] Risk Category: {attack_config.risk_category}")
|
|
92
|
+
print(f"[ATTACK] Threat Model: {attack_config.threat_model}")
|
|
93
|
+
|
|
94
|
+
# Resolve instruction (with prompt injections)
|
|
95
|
+
is_direct_attack = attack_config and attack_config.threat_model == "direct"
|
|
96
|
+
if is_direct_attack:
|
|
97
|
+
user_instruction = apply_prompt_injections(None, attack_config) \
|
|
98
|
+
or task_config.original_instruction
|
|
99
|
+
else:
|
|
100
|
+
user_instruction = apply_prompt_injections(task_config.original_instruction, attack_config)
|
|
101
|
+
|
|
102
|
+
if isinstance(user_instruction, str):
|
|
103
|
+
user_instruction = user_instruction.strip()
|
|
104
|
+
else:
|
|
105
|
+
user_instruction = [s.strip() for s in user_instruction]
|
|
106
|
+
|
|
107
|
+
print("\n" + "=" * 80)
|
|
108
|
+
print("[INSTRUCTION]")
|
|
109
|
+
print(user_instruction)
|
|
110
|
+
print("=" * 80)
|
|
111
|
+
|
|
112
|
+
async with agent:
|
|
113
|
+
print("\n[INFO] Running Hermes agent...")
|
|
114
|
+
metadata = {
|
|
115
|
+
"task_id": task_config.task_id,
|
|
116
|
+
"domain": task_config.domain,
|
|
117
|
+
"category": attack_config.risk_category if attack_config else None,
|
|
118
|
+
"malicious_goal": attack_config.malicious_goal if attack_config else None,
|
|
119
|
+
}
|
|
120
|
+
result = await agent.run(user_instruction, metadata=metadata)
|
|
121
|
+
|
|
122
|
+
print("\n" + "=" * 80)
|
|
123
|
+
print("[AGENT RESPONSE]")
|
|
124
|
+
print(result.final_output)
|
|
125
|
+
print("=" * 80)
|
|
126
|
+
print(f"[INFO] Turns: {result.turn_count}")
|
|
127
|
+
print(f"[INFO] Trace ID: {result.trace_id}")
|
|
128
|
+
if result.trajectory:
|
|
129
|
+
print(f"[INFO] Trajectory steps: {len(result.trajectory.data['trajectory'])}")
|
|
130
|
+
return result
|
|
131
|
+
|
|
132
|
+
except Exception as e:
|
|
133
|
+
print(f"\n[ERROR] {e}")
|
|
134
|
+
import traceback
|
|
135
|
+
traceback.print_exc()
|
|
136
|
+
sys.exit(1)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
if __name__ == "__main__":
|
|
140
|
+
try:
|
|
141
|
+
asyncio.run(main())
|
|
142
|
+
except KeyboardInterrupt:
|
|
143
|
+
print("\n[INFO] Interrupted by user")
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Hermes Agent Implementation - Source Module
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from .agent import HermesAgent
|
|
6
|
+
from .mcp_proxy import HermesMCPProxyServer, HermesMCPProxyManager
|
|
7
|
+
from .utils import HermesTrajectoryConverter
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"HermesAgent",
|
|
11
|
+
"HermesMCPProxyServer",
|
|
12
|
+
"HermesMCPProxyManager",
|
|
13
|
+
"HermesTrajectoryConverter",
|
|
14
|
+
]
|