Run Management¶
The Run system in Bedrock Swarm manages the lifecycle and state of individual execution runs within threads. Each run represents a single execution context with its own state, actions, and completion status.
Class Documentation¶
Represents a single execution run in a thread.
Source code in src/bedrock_swarm/agency/thread.py
Run States¶
A run can be in one of these states:
- Created: Initial state when run is created
- Running: Run is actively executing
- Waiting: Run is waiting for action
- Completed: Run has successfully completed
- Failed: Run has failed with error
- Cancelled: Run was cancelled
Run Lifecycle¶
stateDiagram-v2
[*] --> Created
Created --> Running: start
Running --> Waiting: require_action
Waiting --> Running: action_complete
Running --> Completed: complete
Running --> Failed: fail
Running --> Cancelled: cancel
Waiting --> Cancelled: cancel
Completed --> [*]
Failed --> [*]
Cancelled --> [*]
Usage Examples¶
from bedrock_swarm.agency import Run
# Create a new run
run = Run()
# Start execution
run.start()
# Require action
run.require_action({
"type": "tool_call",
"tool": "calculator",
"args": {"expression": "2 + 2"}
})
# Complete run
run.complete()
# Handle failure
run.fail("Error: Invalid operation")
# Check status
print(run.status) # Output: "completed" or "failed"
Run Actions¶
Runs can require different types of actions:
-
Tool Calls:
-
Message Actions:
-
System Actions:
Error Handling¶
The run system handles various error scenarios:
-
State Transitions:
-
Action Validation:
-
Failure Handling:
Implementation Details¶
The run implementation includes:
- State Management:
- State validation
- Transition rules
-
History tracking
-
Action Handling:
- Action validation
- Action queueing
-
Action completion
-
Resource Management:
- Resource allocation
- Resource cleanup
- Memory management
Run Configuration¶
Runs can be configured with:
run_config = {
"timeout": 300, # Maximum run duration
"retry": {
"max_attempts": 3,
"delay": 1.0
},
"resources": {
"memory": "1GB",
"cpu": 2
}
}
Best Practices¶
-
State Management:
-
Error Handling:
-
Action Management: