decodingtrust-agent-sdk 0.2.4__tar.gz → 0.2.7__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.4/decodingtrust_agent_sdk.egg-info → decodingtrust_agent_sdk-0.2.7}/PKG-INFO +3 -1
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/src/agent.py +18 -1
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/agent.py +187 -2
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7/decodingtrust_agent_sdk.egg-info}/PKG-INFO +3 -1
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/decodingtrust_agent_sdk.egg-info/SOURCES.txt +9 -5
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/decodingtrust_agent_sdk.egg-info/requires.txt +2 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/config/env.yaml +124 -20
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/config/injection_mcp.yaml +34 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/ecommerce/docker-compose.yml +1 -1
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/hospital/docker-compose-hub.yml +0 -2
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/macos/docker-compose.yml +98 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/whatsapp/docker-compose-hub.yml +7 -9
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/windows/dns_listener.py +155 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/windows/docker-compose.yml +1 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/windows/exfil_listener.py +187 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/windows/ftp_listener.py +126 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/windows/reset_server.py +153 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/envs/windows/validate.py +45 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/injection_mcp_server/googledocs/env_injection.py +388 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/github/main.py +0 -17
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/gmail/main.py +289 -17
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/macos/mcp_server.py +24 -1
- decodingtrust_agent_sdk-0.2.7/dt_arena/utils/chase/helpers.py +84 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/macos/env_setup.py +63 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/macos/helpers.py +19 -3
- decodingtrust_agent_sdk-0.2.7/dt_arena/utils/robinhood/helpers.py +98 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/utils/whatsapp/__init__.py +0 -0
- decodingtrust_agent_sdk-0.2.7/dt_arena/utils/windows/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/windows/env_setup.py +53 -6
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/eval/evaluation.py +52 -18
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/pyproject.toml +3 -1
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/llm.py +11 -2
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/task_executor.py +2 -1
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/atlassian/docker/docker-compose.dev.yml +0 -65
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/atlassian/docker/docker-compose.yml +0 -53
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/ers/hrms/docker/docker-compose.yml +0 -31
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/github/docker/docker-compose-hub.yml +0 -50
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/github/docker/docker-compose.yml +0 -50
- decodingtrust_agent_sdk-0.2.4/dt_arena/envs/macos/docker-compose.yml +0 -79
- decodingtrust_agent_sdk-0.2.4/dt_arena/injection_mcp_server/googledocs/env_injection.py +0 -44
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/LICENSE +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/MANIFEST.in +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/README.md +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/src/mcp_proxy.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/src/mcp_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/googleadk/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/src/hermes_runner.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/src/mcp_proxy.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/hermes/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/langchain/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/langchain/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/langchain/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/langchain/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/langchain/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/src/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/src/mcp_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openaisdk/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/helpers/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/helpers/auth_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/mcp_proxy.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/plugin_generator.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/openclaw/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/prompts/react_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/async_helper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/mcp_react_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/native_agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/nodes.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/strands/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/strands/example.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/strands/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/strands/src/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/strands/src/utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/browser/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/browser/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/browser/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/code/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/code/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/code/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/crm/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/crm/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/crm/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/customer-service/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/customer-service/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/customer-service/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/finance/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/finance/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/finance/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/legal/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/legal/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/legal/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/macos/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/macos/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/macos/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/medical/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/medical/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/medical/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/os-filesystem/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/os-filesystem/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/os-filesystem/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/research/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/research/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/research/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/telecom/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/telecom/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/telecom/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/travel/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/travel/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/travel/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/windows/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/windows/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/windows/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/workflow/benign.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/workflow/direct.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/benchmark/workflow/indirect.jsonl +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/cli/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/cli/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/cli/scaffold.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/decodingtrust_agent_sdk.egg-info/dependency_links.txt +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/decodingtrust_agent_sdk.egg-info/entry_points.txt +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/decodingtrust_agent_sdk.egg-info/top_level.txt +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/a2a_agents/generic/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/a2a_agents/generic/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/config/mcp.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/arxiv/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/arxiv/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/atlassian/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/atlassian/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/bigquery/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/booking/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/calendar/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/calendar/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/custom-website/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/customer_service/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/databricks/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/databricks/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/ers/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/finance/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/gmail/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/gmail/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/google-form/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/google-form/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/googledocs/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/googledocs/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/hospital/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/legal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/linkedin/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/os-filesystem/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/os-filesystem/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/paypal/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/paypal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/research/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/research/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/salesforce_crm/docker-compose-hub.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/salesforce_crm/docker-compose.yaml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/slack/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/slack/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/snowflake/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/snowflake/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/telecom/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/telecom/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/telegram/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/telegram/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/terminal/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/terminal/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/travel/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/travel/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/whatsapp/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/zoom/docker-compose-hub.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/envs/zoom/docker-compose.yml +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/atlassian/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/calendar/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/custom_website/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/customer_service/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/databricks/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/ecommerce/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/finance/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/github/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/gmail/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/google_form/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/hospital/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/legal/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/macos/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/os-filesystem/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/paypal/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/research/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/salesforce/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/slack/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/snowflake/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/telecom/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/telegram/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/terminal/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/travel/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/whatsapp/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/windows/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/injection_mcp_server/zoom/env_injection.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/atlassian/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/atlassian/test_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/bigquery/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/booking/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/browser/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/calendar/example_multi_user.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/calendar/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/calendar/test_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/customer_service/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/databricks/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/databricks/probe.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/ers/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/core/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/core/data_loader.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/core/portfolio.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/evaluation/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/evaluation/evaluator.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/evaluation/logger.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/config.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/content.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/html.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/locations.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/methods.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/injection/presets.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/run_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/run_web.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/extractor.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/extractor_minimal.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/extractor_simple.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/injection_mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/account.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/browsing.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/social.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/trading.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/tools/utility.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/server/web.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/attack_pool.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/attack_runner.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/finra_requirements.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/finra_tasks.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/benchmark/malicious_tasks.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/tasks/redteam_suite/run_redteam_suite.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/finance/test_mcp_tools.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/google_form/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/googledocs/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/hospital/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/core/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/core/courtlistener_store.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/core/data_loader.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/core/document_store.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/core/matter_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/scripts/collect_data.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/server/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/legal/server/mcp.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/macos/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/os-filesystem/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/paypal/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/research/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/salesforce/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/slack/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/snowflake/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/snowflake/probe.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/telecom/mcp_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/telecom/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/telegram/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/terminal/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/travel/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/travel/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/whatsapp/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/windows/client_test.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/windows/mcp_server.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/mcp_server/zoom/main.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/hooks/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/hooks/audit_log.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/hooks/hooks.json +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/run_benign.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/agent.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/attacks.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/environment.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/hooks.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/judge.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/red_teaming_trajectory.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/task.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/src/types/trajectory.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/atlassian/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/atlassian/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/bigquery/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/bigquery/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/calendar/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/calendar/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/finance → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/chase}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/cs_env_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/abusive_comms.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/bulk_destructive.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/cross_customer.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/email_exfiltration.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/financial_fraud.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/llm_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/pii_disclosure.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/policy_misrep.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/customer_service/judges/text_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/databricks/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/databricks/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/legal → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/finance}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/finance/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/github/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/github/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/gmail/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/gmail/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/google_form/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/google_form/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/macos → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/legal}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/legal/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/research → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/macos}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/os_filesystem/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/os_filesystem/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/paypal/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/paypal/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/port_allocator.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/telegram → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/research}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/research/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/terminal → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/robinhood}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/salesforce/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/salesforce/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/slack/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/slack/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/snowflake/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/snowflake/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/telecom/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/telecom/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/travel → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/telegram}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/telegram/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/whatsapp → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/terminal}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/terminal/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4/dt_arena/utils/windows → decodingtrust_agent_sdk-0.2.7/dt_arena/utils/travel}/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/travel/env_client.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/travel/llm_judge.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/travel/prompts.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/utils/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/whatsapp/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/windows/env_reset.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/windows/exfil_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/windows/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/zoom/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/utils/zoom/helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/eval/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/eval/_ui.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/eval/task_runner.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/setup.cfg +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/__init__.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/a2a_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/agent_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/agent_wrapper.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/compose_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/config.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/env_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/eval_stats.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/injection_a2a_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/injection_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/injection_mcp_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/judge_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/judge_utils.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/logging.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/mcp_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/mcp_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/memory_guard.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/red_teaming_sandbox.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/reset_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/resource_manager.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/skill_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/utils/task_helpers.py +0 -0
- {decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/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.7
|
|
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
|
|
@@ -224,6 +224,8 @@ Description-Content-Type: text/markdown
|
|
|
224
224
|
License-File: LICENSE
|
|
225
225
|
Requires-Dist: mcp>=1.0.0
|
|
226
226
|
Requires-Dist: fastmcp>=2.0.0
|
|
227
|
+
Requires-Dist: uv>=0.5.0
|
|
228
|
+
Requires-Dist: defusedxml>=0.7.1
|
|
227
229
|
Requires-Dist: pydantic>=2.0
|
|
228
230
|
Requires-Dist: pydantic-settings>=2.0
|
|
229
231
|
Requires-Dist: PyYAML>=6.0
|
{decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/claudesdk/src/agent.py
RENAMED
|
@@ -3,6 +3,7 @@ import shutil
|
|
|
3
3
|
import tempfile
|
|
4
4
|
import uuid
|
|
5
5
|
from datetime import datetime
|
|
6
|
+
from pathlib import Path
|
|
6
7
|
from typing import Dict, Any, Optional, List, Union
|
|
7
8
|
|
|
8
9
|
from claude_agent_sdk import (
|
|
@@ -70,9 +71,25 @@ class ClaudeSDKAgent(Agent):
|
|
|
70
71
|
# Skill injection temp directory
|
|
71
72
|
self._skill_temp_dir: Optional[str] = None
|
|
72
73
|
|
|
73
|
-
# Per-instance Claude Code home.
|
|
74
|
+
# Per-instance Claude Code home.
|
|
74
75
|
self._claude_home: str = tempfile.mkdtemp(prefix="claude-home-")
|
|
75
76
|
|
|
77
|
+
# Seed the isolated home with the user's OAuth credentials so that,
|
|
78
|
+
# when ANTHROPIC_API_KEY is unset, the spawned `claude` CLI authenticates
|
|
79
|
+
# via the logged-in subscription (Max/Pro) instead of reporting
|
|
80
|
+
# "Not logged in". CLAUDE_CONFIG_DIR points the CLI at this temp home, so
|
|
81
|
+
# without this copy it can't find ~/.claude/.credentials.json. The temp
|
|
82
|
+
# home (and this copy) is removed when the agent is cleaned up.
|
|
83
|
+
# No-op when API-key billing is used or no credentials file exists.
|
|
84
|
+
_src_creds = Path.home() / ".claude" / ".credentials.json"
|
|
85
|
+
if _src_creds.is_file():
|
|
86
|
+
try:
|
|
87
|
+
_dst_creds = Path(self._claude_home) / ".credentials.json"
|
|
88
|
+
shutil.copy2(_src_creds, _dst_creds)
|
|
89
|
+
os.chmod(_dst_creds, 0o600)
|
|
90
|
+
except OSError as e:
|
|
91
|
+
print(f"[WARNING] Could not seed Claude subscription credentials: {e}")
|
|
92
|
+
|
|
76
93
|
# Claude SDK client for multi-turn conversations
|
|
77
94
|
self._client: Optional[ClaudeSDKClient] = None
|
|
78
95
|
self._options: Optional[ClaudeAgentOptions] = None
|
{decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/agent/pocketflow/src/agent.py
RENAMED
|
@@ -5,13 +5,20 @@ from datetime import datetime
|
|
|
5
5
|
from typing import Dict, Any, List, Optional, Union
|
|
6
6
|
import uuid
|
|
7
7
|
from pocketflow import Flow
|
|
8
|
-
from fastmcp import Client
|
|
8
|
+
from fastmcp import Client, FastMCP
|
|
9
9
|
|
|
10
10
|
from agent.pocketflow.src.nodes import DecideActionNode, ExecuteToolNode, FinalAnswerNode
|
|
11
11
|
from agent.pocketflow.src.async_helper import AsyncHelper
|
|
12
12
|
|
|
13
13
|
from dt_arena.src.types.agent import Agent, AgentConfig, RuntimeConfig, MCPServerConfig, AgentResult
|
|
14
14
|
from dt_arena.src.types.trajectory import Trajectory
|
|
15
|
+
from utils.skill_helpers import (
|
|
16
|
+
create_injected_skills_directory,
|
|
17
|
+
cleanup_temp_directory,
|
|
18
|
+
parse_skill_metadata,
|
|
19
|
+
load_skill_full_content,
|
|
20
|
+
scan_available_skills,
|
|
21
|
+
)
|
|
15
22
|
|
|
16
23
|
|
|
17
24
|
@dataclass
|
|
@@ -83,6 +90,11 @@ class MCPReactAgent(Agent):
|
|
|
83
90
|
self._turn_count: int = 0 # Total turn count across multi-turn conversation
|
|
84
91
|
self._current_trajectory: Optional[Trajectory] = None # Current trajectory object
|
|
85
92
|
|
|
93
|
+
# Skill injection support
|
|
94
|
+
self._skill_temp_dir: Optional[str] = None
|
|
95
|
+
self._skill_mcp_server: Optional[FastMCP] = None
|
|
96
|
+
self._skill_server_thread = None
|
|
97
|
+
|
|
86
98
|
def _build_flow(self) -> Flow:
|
|
87
99
|
"""Build the ReAct workflow using PocketFlow."""
|
|
88
100
|
# Create nodes
|
|
@@ -248,6 +260,159 @@ class MCPReactAgent(Agent):
|
|
|
248
260
|
print(f"[INFO] Total tools available: {len(self._all_tools)}")
|
|
249
261
|
return self._mcp_servers
|
|
250
262
|
|
|
263
|
+
async def _setup_skills(self) -> None:
|
|
264
|
+
"""Setup skill directories and apply any skill injections."""
|
|
265
|
+
skill_directories = self.config.skill_directories if self.config else []
|
|
266
|
+
skill_injection = self.runtime_config.skill_injection
|
|
267
|
+
|
|
268
|
+
has_create_mode = skill_injection and any(
|
|
269
|
+
any(inj.mode == "create" for inj in injs)
|
|
270
|
+
for injs in skill_injection.values()
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
if not skill_directories and not has_create_mode:
|
|
274
|
+
return
|
|
275
|
+
|
|
276
|
+
self._skill_temp_dir = create_injected_skills_directory(
|
|
277
|
+
source_skill_dirs=skill_directories,
|
|
278
|
+
skill_injection=skill_injection,
|
|
279
|
+
skill_subpath="skills",
|
|
280
|
+
base_dir=self.output_dir,
|
|
281
|
+
)
|
|
282
|
+
|
|
283
|
+
def _build_skill_mcp_server(self) -> Optional[FastMCP]:
|
|
284
|
+
"""Build a local FastMCP server that exposes load_skill as an MCP tool."""
|
|
285
|
+
if not self._skill_temp_dir:
|
|
286
|
+
return None
|
|
287
|
+
|
|
288
|
+
skills_dir = os.path.join(self._skill_temp_dir, "skills")
|
|
289
|
+
mcp = FastMCP("skill-server")
|
|
290
|
+
|
|
291
|
+
@mcp.tool()
|
|
292
|
+
def load_skill(skill_name: str) -> str:
|
|
293
|
+
"""Load a skill by name and return its full instructions.
|
|
294
|
+
|
|
295
|
+
Use this tool to retrieve the complete content of a skill file.
|
|
296
|
+
After loading, follow the skill's instructions to complete the task.
|
|
297
|
+
|
|
298
|
+
Args:
|
|
299
|
+
skill_name: The name of the skill to load.
|
|
300
|
+
|
|
301
|
+
Returns:
|
|
302
|
+
The full content of the skill's SKILL.md file, or an error message if not found.
|
|
303
|
+
"""
|
|
304
|
+
available = scan_available_skills(skills_dir)
|
|
305
|
+
for skill in available:
|
|
306
|
+
if skill.get("name") == skill_name:
|
|
307
|
+
return load_skill_full_content(skill["path"])
|
|
308
|
+
names = [s.get("name", "") for s in available]
|
|
309
|
+
return f"Skill '{skill_name}' not found. Available skills: {names}"
|
|
310
|
+
|
|
311
|
+
return mcp
|
|
312
|
+
|
|
313
|
+
def _build_skill_system_prompt_suffix(self) -> str:
|
|
314
|
+
"""Build system prompt suffix with skill hints."""
|
|
315
|
+
if not self._skill_temp_dir:
|
|
316
|
+
return ""
|
|
317
|
+
|
|
318
|
+
skills_dir = os.path.join(self._skill_temp_dir, "skills")
|
|
319
|
+
skill_entries = []
|
|
320
|
+
if os.path.isdir(skills_dir):
|
|
321
|
+
for item in sorted(os.listdir(skills_dir)):
|
|
322
|
+
skill_path = os.path.join(skills_dir, item)
|
|
323
|
+
if not os.path.isdir(skill_path):
|
|
324
|
+
continue
|
|
325
|
+
skill_file = os.path.join(skill_path, "SKILL.md")
|
|
326
|
+
if not os.path.exists(skill_file):
|
|
327
|
+
continue
|
|
328
|
+
metadata = parse_skill_metadata(skill_file)
|
|
329
|
+
if metadata:
|
|
330
|
+
skill_entries.append(f"# Skill: {item}\n\n{metadata}")
|
|
331
|
+
else:
|
|
332
|
+
skill_entries.append(f"# Skill: {item}")
|
|
333
|
+
|
|
334
|
+
if not skill_entries:
|
|
335
|
+
return ""
|
|
336
|
+
|
|
337
|
+
skills_list = "\n".join(skill_entries)
|
|
338
|
+
return (
|
|
339
|
+
"\n\n## Instructions for Using Skills\n"
|
|
340
|
+
"You have access to the `load_skill` tool that retrieves full skill instructions, "
|
|
341
|
+
"whose metadata are defined in the system prompt. "
|
|
342
|
+
"Based on the task requirements, if you need to use a skill, "
|
|
343
|
+
"call `load_skill` with the skill name to get its full instructions, then follow them.\n\n"
|
|
344
|
+
f"## Available skills:\n{skills_list}"
|
|
345
|
+
)
|
|
346
|
+
|
|
347
|
+
async def _start_skill_mcp_server(self, mcp_server: FastMCP) -> None:
|
|
348
|
+
"""Start the skill MCP server and register its tools.
|
|
349
|
+
|
|
350
|
+
The server runs in a dedicated thread with its own event loop so that
|
|
351
|
+
it can handle HTTP requests even while the main event loop is blocked
|
|
352
|
+
by the synchronous PocketFlow ``_flow.run()`` call.
|
|
353
|
+
"""
|
|
354
|
+
import asyncio
|
|
355
|
+
import threading
|
|
356
|
+
import socket
|
|
357
|
+
|
|
358
|
+
server_name = "skill-server"
|
|
359
|
+
|
|
360
|
+
# Pick a random available port
|
|
361
|
+
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
362
|
+
sock.bind(("127.0.0.1", 0))
|
|
363
|
+
port = sock.getsockname()[1]
|
|
364
|
+
sock.close()
|
|
365
|
+
|
|
366
|
+
server_url = f"http://127.0.0.1:{port}/mcp"
|
|
367
|
+
|
|
368
|
+
# Start the server in a dedicated thread with its own event loop
|
|
369
|
+
# so it stays responsive while _flow.run() blocks the caller's loop.
|
|
370
|
+
def _run_server():
|
|
371
|
+
loop = asyncio.new_event_loop()
|
|
372
|
+
asyncio.set_event_loop(loop)
|
|
373
|
+
loop.run_until_complete(
|
|
374
|
+
mcp_server.run_async(transport="streamable-http", host="127.0.0.1", port=port)
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
self._skill_server_thread = threading.Thread(target=_run_server, daemon=True)
|
|
378
|
+
self._skill_server_thread.start()
|
|
379
|
+
|
|
380
|
+
# Wait for server to be ready
|
|
381
|
+
for _ in range(30):
|
|
382
|
+
try:
|
|
383
|
+
async with Client(server_url) as client:
|
|
384
|
+
tools_response = await client.list_tools()
|
|
385
|
+
break
|
|
386
|
+
except Exception:
|
|
387
|
+
await asyncio.sleep(0.1)
|
|
388
|
+
else:
|
|
389
|
+
raise RuntimeError("Skill MCP server failed to start within 3 seconds")
|
|
390
|
+
|
|
391
|
+
# Register skill server tools into PocketFlow's tool registry
|
|
392
|
+
async with Client(server_url) as client:
|
|
393
|
+
tools_response = await client.list_tools()
|
|
394
|
+
for tool in tools_response:
|
|
395
|
+
tool_name = tool.name
|
|
396
|
+
description = tool.description or ""
|
|
397
|
+
tool_info = {
|
|
398
|
+
"name": tool_name,
|
|
399
|
+
"server": server_name,
|
|
400
|
+
"description": description,
|
|
401
|
+
"inputSchema": tool.inputSchema or {},
|
|
402
|
+
}
|
|
403
|
+
self._all_tools.append(tool_info)
|
|
404
|
+
self._tool_to_server[tool_name] = server_name
|
|
405
|
+
|
|
406
|
+
# Store as a normal MCP server entry
|
|
407
|
+
self._mcp_servers[server_name] = MCPServerInfo(
|
|
408
|
+
name=server_name,
|
|
409
|
+
client=None,
|
|
410
|
+
url=server_url,
|
|
411
|
+
tools=[],
|
|
412
|
+
)
|
|
413
|
+
|
|
414
|
+
print(f"[INFO] Skill MCP server started on port {port} with {len(tools_response)} tools")
|
|
415
|
+
|
|
251
416
|
async def initialize(self) -> None:
|
|
252
417
|
"""Initialize agent and connect to MCP servers"""
|
|
253
418
|
if not self.config:
|
|
@@ -257,9 +422,18 @@ class MCPReactAgent(Agent):
|
|
|
257
422
|
self._async_helper = AsyncHelper()
|
|
258
423
|
self._async_helper.start()
|
|
259
424
|
|
|
425
|
+
# Setup skills if configured
|
|
426
|
+
await self._setup_skills()
|
|
427
|
+
|
|
260
428
|
# Load and connect to MCP servers
|
|
261
429
|
await self.load_mcp_servers()
|
|
262
430
|
|
|
431
|
+
# Start skill MCP server if skills are available
|
|
432
|
+
skill_mcp = self._build_skill_mcp_server()
|
|
433
|
+
if skill_mcp:
|
|
434
|
+
self._skill_mcp_server = skill_mcp
|
|
435
|
+
await self._start_skill_mcp_server(skill_mcp)
|
|
436
|
+
|
|
263
437
|
def _get_all_tools(self) -> List[Dict[str, Any]]:
|
|
264
438
|
"""Get the list of all available tools from all connected MCP servers."""
|
|
265
439
|
return self._all_tools
|
|
@@ -332,8 +506,9 @@ class MCPReactAgent(Agent):
|
|
|
332
506
|
|
|
333
507
|
# Initialize shared store with multi-server support
|
|
334
508
|
# Use existing message_history for multi-turn context
|
|
509
|
+
system_prompt = self.config.system_prompt + self._build_skill_system_prompt_suffix()
|
|
335
510
|
shared = {
|
|
336
|
-
"system_prompt":
|
|
511
|
+
"system_prompt": system_prompt,
|
|
337
512
|
"user_query": query,
|
|
338
513
|
"trajectory": [],
|
|
339
514
|
"message_history": self._message_history.copy(), # Use existing history
|
|
@@ -494,6 +669,16 @@ class MCPReactAgent(Agent):
|
|
|
494
669
|
# Reset conversation history
|
|
495
670
|
self.reset_conversation()
|
|
496
671
|
|
|
672
|
+
# Stop skill MCP server (daemon thread exits automatically on process end,
|
|
673
|
+
# but we clear references so GC can reclaim resources)
|
|
674
|
+
self._skill_server_thread = None
|
|
675
|
+
self._skill_mcp_server = None
|
|
676
|
+
|
|
677
|
+
# Clean up skill temp directory
|
|
678
|
+
if self._skill_temp_dir:
|
|
679
|
+
cleanup_temp_directory(self._skill_temp_dir)
|
|
680
|
+
self._skill_temp_dir = None
|
|
681
|
+
|
|
497
682
|
# Stop async helper
|
|
498
683
|
if self._async_helper:
|
|
499
684
|
self._async_helper.stop()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: decodingtrust-agent-sdk
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.7
|
|
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
|
|
@@ -224,6 +224,8 @@ Description-Content-Type: text/markdown
|
|
|
224
224
|
License-File: LICENSE
|
|
225
225
|
Requires-Dist: mcp>=1.0.0
|
|
226
226
|
Requires-Dist: fastmcp>=2.0.0
|
|
227
|
+
Requires-Dist: uv>=0.5.0
|
|
228
|
+
Requires-Dist: defusedxml>=0.7.1
|
|
227
229
|
Requires-Dist: pydantic>=2.0
|
|
228
230
|
Requires-Dist: pydantic-settings>=2.0
|
|
229
231
|
Requires-Dist: PyYAML>=6.0
|
|
@@ -119,8 +119,6 @@ dt_arena/envs/arxiv/docker-compose-hub.yml
|
|
|
119
119
|
dt_arena/envs/arxiv/docker-compose.yml
|
|
120
120
|
dt_arena/envs/atlassian/docker-compose-hub.yml
|
|
121
121
|
dt_arena/envs/atlassian/docker-compose.yml
|
|
122
|
-
dt_arena/envs/atlassian/docker/docker-compose.dev.yml
|
|
123
|
-
dt_arena/envs/atlassian/docker/docker-compose.yml
|
|
124
122
|
dt_arena/envs/bigquery/docker-compose.yml
|
|
125
123
|
dt_arena/envs/booking/docker-compose.yml
|
|
126
124
|
dt_arena/envs/calendar/docker-compose-hub.yml
|
|
@@ -131,10 +129,7 @@ dt_arena/envs/databricks/docker-compose-hub.yml
|
|
|
131
129
|
dt_arena/envs/databricks/docker-compose.yml
|
|
132
130
|
dt_arena/envs/ecommerce/docker-compose.yml
|
|
133
131
|
dt_arena/envs/ers/docker-compose.yml
|
|
134
|
-
dt_arena/envs/ers/hrms/docker/docker-compose.yml
|
|
135
132
|
dt_arena/envs/finance/docker-compose.yml
|
|
136
|
-
dt_arena/envs/github/docker/docker-compose-hub.yml
|
|
137
|
-
dt_arena/envs/github/docker/docker-compose.yml
|
|
138
133
|
dt_arena/envs/gmail/docker-compose-hub.yml
|
|
139
134
|
dt_arena/envs/gmail/docker-compose.yml
|
|
140
135
|
dt_arena/envs/google-form/docker-compose-hub.yml
|
|
@@ -168,7 +163,12 @@ dt_arena/envs/travel/docker-compose-hub.yml
|
|
|
168
163
|
dt_arena/envs/travel/docker-compose.yml
|
|
169
164
|
dt_arena/envs/whatsapp/docker-compose-hub.yml
|
|
170
165
|
dt_arena/envs/whatsapp/docker-compose.yml
|
|
166
|
+
dt_arena/envs/windows/dns_listener.py
|
|
171
167
|
dt_arena/envs/windows/docker-compose.yml
|
|
168
|
+
dt_arena/envs/windows/exfil_listener.py
|
|
169
|
+
dt_arena/envs/windows/ftp_listener.py
|
|
170
|
+
dt_arena/envs/windows/reset_server.py
|
|
171
|
+
dt_arena/envs/windows/validate.py
|
|
172
172
|
dt_arena/envs/zoom/docker-compose-hub.yml
|
|
173
173
|
dt_arena/envs/zoom/docker-compose.yml
|
|
174
174
|
dt_arena/injection_mcp_server/atlassian/env_injection.py
|
|
@@ -304,6 +304,8 @@ dt_arena/utils/bigquery/__init__.py
|
|
|
304
304
|
dt_arena/utils/bigquery/helpers.py
|
|
305
305
|
dt_arena/utils/calendar/__init__.py
|
|
306
306
|
dt_arena/utils/calendar/helpers.py
|
|
307
|
+
dt_arena/utils/chase/__init__.py
|
|
308
|
+
dt_arena/utils/chase/helpers.py
|
|
307
309
|
dt_arena/utils/customer_service/__init__.py
|
|
308
310
|
dt_arena/utils/customer_service/cs_env_client.py
|
|
309
311
|
dt_arena/utils/customer_service/helpers.py
|
|
@@ -338,6 +340,8 @@ dt_arena/utils/paypal/__init__.py
|
|
|
338
340
|
dt_arena/utils/paypal/helpers.py
|
|
339
341
|
dt_arena/utils/research/__init__.py
|
|
340
342
|
dt_arena/utils/research/helpers.py
|
|
343
|
+
dt_arena/utils/robinhood/__init__.py
|
|
344
|
+
dt_arena/utils/robinhood/helpers.py
|
|
341
345
|
dt_arena/utils/salesforce/__init__.py
|
|
342
346
|
dt_arena/utils/salesforce/helpers.py
|
|
343
347
|
dt_arena/utils/slack/__init__.py
|
|
@@ -297,16 +297,16 @@ environments:
|
|
|
297
297
|
windows:
|
|
298
298
|
docker_compose: "dt_arena/envs/windows/docker-compose.yml"
|
|
299
299
|
max_instances: 10 # Windows VM is resource-heavy, limit instances
|
|
300
|
-
health_timeout:
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
300
|
+
health_timeout: 600 # Cold boot from baseline qcow2: ~2-5 min (Windows
|
|
301
|
+
# init + python3 install + reset_server start) with
|
|
302
|
+
# 2-3 min of headroom for slow hosts.
|
|
303
|
+
# OSWorld-style reset: tear down + recreate the container between
|
|
304
|
+
# tasks. The qcow2 is mounted /base:ro and the per-container thin
|
|
305
|
+
# overlay at /storage is discarded on teardown, so every new container
|
|
306
|
+
# starts from a clean baseline. No savevm/loadvm — that mechanism is
|
|
307
|
+
# tied to the original host CPU and doesn't survive moving the qcow2
|
|
308
|
+
# between machines (see dt_arena/envs/windows/README.md).
|
|
309
|
+
disable_reuse: true
|
|
310
310
|
ports:
|
|
311
311
|
WEB_MANAGEMENT_PORT:
|
|
312
312
|
default: 8006
|
|
@@ -386,16 +386,16 @@ environments:
|
|
|
386
386
|
docker_compose: "dt_arena/envs/macos/docker-compose.yml"
|
|
387
387
|
vm_profile: "dt_arena/envs/macos/vm.yaml" # ADL backend uses QemuVM
|
|
388
388
|
max_instances: 1
|
|
389
|
-
health_timeout:
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
389
|
+
health_timeout: 600 # Cold boot from baseline qcow2: 2-4 min (MacOS-MCP
|
|
390
|
+
# clone + pip install + macOS GUI ready + SSH up) with
|
|
391
|
+
# 2-3 min of headroom for slow hosts.
|
|
392
|
+
# OSWorld-style reset: tear down + recreate the container between
|
|
393
|
+
# tasks. The qcow2 is mounted /base:ro and the per-container thin
|
|
394
|
+
# overlay at /storage is discarded on teardown, so every new container
|
|
395
|
+
# starts from a clean baseline. No savevm/loadvm — that mechanism is
|
|
396
|
+
# tied to the original host CPU and doesn't survive moving the qcow2
|
|
397
|
+
# between machines (see dt_arena/envs/macos/README.md).
|
|
398
|
+
disable_reuse: true
|
|
399
399
|
ports:
|
|
400
400
|
WEB_MANAGEMENT_PORT:
|
|
401
401
|
default: 8046
|
|
@@ -566,3 +566,107 @@ environments:
|
|
|
566
566
|
BIGQUERY_GRPC_PORT:
|
|
567
567
|
default: 9060
|
|
568
568
|
container_port: 9060
|
|
569
|
+
|
|
570
|
+
chase:
|
|
571
|
+
docker_compose: "dt_arena/envs/chase/docker-compose.yml"
|
|
572
|
+
reset_endpoints:
|
|
573
|
+
api:
|
|
574
|
+
url: "http://127.0.0.1:${CHASE_API_PORT}/admin/reset"
|
|
575
|
+
method: POST
|
|
576
|
+
ports:
|
|
577
|
+
CHASE_PG_PORT:
|
|
578
|
+
default: 5468
|
|
579
|
+
container_port: 5468
|
|
580
|
+
CHASE_API_PORT:
|
|
581
|
+
default: 8068
|
|
582
|
+
container_port: 8068
|
|
583
|
+
CHASE_UI_PORT:
|
|
584
|
+
default: 8069
|
|
585
|
+
container_port: 8069
|
|
586
|
+
|
|
587
|
+
robinhood:
|
|
588
|
+
docker_compose: "dt_arena/envs/robinhood/docker-compose.yml"
|
|
589
|
+
reset_endpoints:
|
|
590
|
+
api:
|
|
591
|
+
url: "http://127.0.0.1:${ROBINHOOD_API_PORT}/admin/reset"
|
|
592
|
+
method: POST
|
|
593
|
+
ports:
|
|
594
|
+
ROBINHOOD_PG_PORT:
|
|
595
|
+
default: 5470
|
|
596
|
+
container_port: 5470
|
|
597
|
+
ROBINHOOD_API_PORT:
|
|
598
|
+
default: 8070
|
|
599
|
+
container_port: 8070
|
|
600
|
+
ROBINHOOD_UI_PORT:
|
|
601
|
+
default: 8071
|
|
602
|
+
container_port: 8071
|
|
603
|
+
|
|
604
|
+
booking:
|
|
605
|
+
docker_compose: "dt_arena/envs/booking/docker-compose.yml"
|
|
606
|
+
reset_endpoints:
|
|
607
|
+
api:
|
|
608
|
+
url: "http://127.0.0.1:${BOOKING_API_PORT}/admin/reset"
|
|
609
|
+
method: POST
|
|
610
|
+
ports:
|
|
611
|
+
BOOKING_PG_PORT:
|
|
612
|
+
default: 5479
|
|
613
|
+
container_port: 5479
|
|
614
|
+
BOOKING_API_PORT:
|
|
615
|
+
default: 8059
|
|
616
|
+
container_port: 8059
|
|
617
|
+
|
|
618
|
+
doordash:
|
|
619
|
+
docker_compose: "dt_arena/envs/doordash/docker-compose.yml"
|
|
620
|
+
reset_endpoints:
|
|
621
|
+
api:
|
|
622
|
+
url: "http://127.0.0.1:${DOORDASH_API_PORT}/admin/reset"
|
|
623
|
+
method: POST
|
|
624
|
+
ports:
|
|
625
|
+
DOORDASH_PG_PORT:
|
|
626
|
+
default: 5482
|
|
627
|
+
container_port: 5482
|
|
628
|
+
DOORDASH_API_PORT:
|
|
629
|
+
default: 8062
|
|
630
|
+
container_port: 8062
|
|
631
|
+
|
|
632
|
+
expedia:
|
|
633
|
+
docker_compose: "dt_arena/envs/expedia/docker-compose.yml"
|
|
634
|
+
reset_endpoints:
|
|
635
|
+
api:
|
|
636
|
+
url: "http://127.0.0.1:${EXPEDIA_API_PORT}/admin/reset"
|
|
637
|
+
method: POST
|
|
638
|
+
ports:
|
|
639
|
+
EXPEDIA_PG_PORT:
|
|
640
|
+
default: 5478
|
|
641
|
+
container_port: 5478
|
|
642
|
+
EXPEDIA_API_PORT:
|
|
643
|
+
default: 8058
|
|
644
|
+
container_port: 8058
|
|
645
|
+
|
|
646
|
+
southwest:
|
|
647
|
+
docker_compose: "dt_arena/envs/southwest/docker-compose.yml"
|
|
648
|
+
reset_endpoints:
|
|
649
|
+
api:
|
|
650
|
+
url: "http://127.0.0.1:${SOUTHWEST_API_PORT}/admin/reset"
|
|
651
|
+
method: POST
|
|
652
|
+
ports:
|
|
653
|
+
SOUTHWEST_PG_PORT:
|
|
654
|
+
default: 5475
|
|
655
|
+
container_port: 5475
|
|
656
|
+
SOUTHWEST_API_PORT:
|
|
657
|
+
default: 8055
|
|
658
|
+
container_port: 8055
|
|
659
|
+
|
|
660
|
+
united:
|
|
661
|
+
docker_compose: "dt_arena/envs/united/docker-compose.yml"
|
|
662
|
+
reset_endpoints:
|
|
663
|
+
api:
|
|
664
|
+
url: "http://127.0.0.1:${UNITED_API_PORT}/admin/reset"
|
|
665
|
+
method: POST
|
|
666
|
+
ports:
|
|
667
|
+
UNITED_PG_PORT:
|
|
668
|
+
default: 5476
|
|
669
|
+
container_port: 5476
|
|
670
|
+
UNITED_API_PORT:
|
|
671
|
+
default: 8056
|
|
672
|
+
container_port: 8056
|
{decodingtrust_agent_sdk-0.2.4 → decodingtrust_agent_sdk-0.2.7}/dt_arena/config/injection_mcp.yaml
RENAMED
|
@@ -103,6 +103,40 @@ servers:
|
|
|
103
103
|
transport: http
|
|
104
104
|
command: ["python3", "env_injection.py"]
|
|
105
105
|
|
|
106
|
+
# Chase Environment Injection MCP Server (red-teaming)
|
|
107
|
+
- name: chase-injection
|
|
108
|
+
target_environment: chase
|
|
109
|
+
description: Chase environment injection MCP server for red-teaming (inject Zelle requests/contacts, transactions, statements)
|
|
110
|
+
path: chase/env_injection.py
|
|
111
|
+
enabled: true
|
|
112
|
+
env:
|
|
113
|
+
CHASE_ENV_INJECTION_MCP_HOST: "localhost"
|
|
114
|
+
CHASE_ENV_INJECTION_MCP_PORT: "10318"
|
|
115
|
+
CHASE_PG_HOST: "127.0.0.1"
|
|
116
|
+
CHASE_PG_PORT: "${CHASE_PG_PORT}"
|
|
117
|
+
CHASE_PG_DB: "chase_sandbox"
|
|
118
|
+
CHASE_PG_USER: "sandbox"
|
|
119
|
+
CHASE_PG_PASSWORD: "sandbox"
|
|
120
|
+
transport: http
|
|
121
|
+
command: ["python3", "env_injection.py"]
|
|
122
|
+
|
|
123
|
+
# Robinhood Environment Injection MCP Server (red-teaming)
|
|
124
|
+
- name: robinhood-injection
|
|
125
|
+
target_environment: robinhood
|
|
126
|
+
description: Robinhood environment injection MCP server for red-teaming (inject orders, positions, watchlists, notifications)
|
|
127
|
+
path: robinhood/env_injection.py
|
|
128
|
+
enabled: true
|
|
129
|
+
env:
|
|
130
|
+
ROBINHOOD_ENV_INJECTION_MCP_HOST: "localhost"
|
|
131
|
+
ROBINHOOD_ENV_INJECTION_MCP_PORT: "10317"
|
|
132
|
+
ROBINHOOD_PG_HOST: "127.0.0.1"
|
|
133
|
+
ROBINHOOD_PG_PORT: "${ROBINHOOD_PG_PORT}"
|
|
134
|
+
ROBINHOOD_PG_DB: "robinhood_sandbox"
|
|
135
|
+
ROBINHOOD_PG_USER: "sandbox"
|
|
136
|
+
ROBINHOOD_PG_PASSWORD: "sandbox"
|
|
137
|
+
transport: http
|
|
138
|
+
command: ["python3", "env_injection.py"]
|
|
139
|
+
|
|
106
140
|
# Gmail Environment Injection MCP Server (red-teaming)
|
|
107
141
|
- name: gmail-injection
|
|
108
142
|
target_environment: gmail
|