mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
## Summary This PR introduces two explicit safe mode toggles for controlling agent execution behavior, providing clearer and more granular control over when agents should pause for human review. ### Key Changes **New Safe Mode Settings:** - **`human_in_the_loop_safe_mode`** (bool, default `true`) - Controls whether human-in-the-loop (HITL) blocks pause for review - **`sensitive_action_safe_mode`** (bool, default `false`) - Controls whether sensitive action blocks pause for review **New Computed Properties on LibraryAgent:** - `has_human_in_the_loop` - Indicates if agent contains HITL blocks - `has_sensitive_action` - Indicates if agent contains sensitive action blocks **Block Changes:** - Renamed `requires_human_review` to `is_sensitive_action` on blocks for clarity - Blocks marked as `is_sensitive_action=True` pause only when `sensitive_action_safe_mode=True` - HITL blocks pause when `human_in_the_loop_safe_mode=True` **Frontend Changes:** - Two separate toggles in Agent Settings based on block types present - Toggle visibility based on `has_human_in_the_loop` and `has_sensitive_action` computed properties - Settings cog hidden if neither toggle applies - Proper state management for both toggles with defaults **AI-Generated Agent Behavior:** - AI-generated agents set `sensitive_action_safe_mode=True` by default - This ensures sensitive actions are reviewed for AI-generated content ## Changes **Backend:** - `backend/data/graph.py` - Updated `GraphSettings` with two boolean toggles (non-optional with defaults), added `has_sensitive_action` computed property - `backend/data/block.py` - Renamed `requires_human_review` to `is_sensitive_action`, updated review logic - `backend/data/execution.py` - Updated `ExecutionContext` with both safe mode fields - `backend/api/features/library/model.py` - Added `has_human_in_the_loop` and `has_sensitive_action` to `LibraryAgent` - `backend/api/features/library/db.py` - Updated to use `sensitive_action_safe_mode` parameter - `backend/executor/utils.py` - Simplified execution context creation **Frontend:** - `useAgentSafeMode.ts` - Rewritten to support two independent toggles - `AgentSettingsModal.tsx` - Shows two separate toggles - `SelectedSettingsView.tsx` - Shows two separate toggles - Regenerated API types with new schema ## Test Plan - [x] All backend tests pass (Python 3.11, 3.12, 3.13) - [x] All frontend tests pass - [x] Backend format and lint pass - [x] Frontend format and lint pass - [x] Pre-commit hooks pass --------- Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
36 lines
832 B
Plaintext
36 lines
832 B
Plaintext
{
|
|
"created_at": "2025-09-04T13:37:00",
|
|
"credentials_input_schema": {
|
|
"properties": {},
|
|
"required": [],
|
|
"title": "TestGraphCredentialsInputSchema",
|
|
"type": "object"
|
|
},
|
|
"description": "A test graph",
|
|
"forked_from_id": null,
|
|
"forked_from_version": null,
|
|
"has_external_trigger": false,
|
|
"has_human_in_the_loop": false,
|
|
"has_sensitive_action": false,
|
|
"id": "graph-123",
|
|
"input_schema": {
|
|
"properties": {},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"instructions": null,
|
|
"is_active": true,
|
|
"links": [],
|
|
"name": "Test Graph",
|
|
"nodes": [],
|
|
"output_schema": {
|
|
"properties": {},
|
|
"required": [],
|
|
"type": "object"
|
|
},
|
|
"recommended_schedule_cron": null,
|
|
"sub_graphs": [],
|
|
"trigger_setup_info": null,
|
|
"user_id": "3e53486c-cf57-477e-ba2a-cb02dc828e1a",
|
|
"version": 1
|
|
} |