- Cloud Engine: Update call execution status to 'completed' or 'failed' upon agent call failure
- Sets status to 'completed' if failure occurs after at least one turn (allows evaluations to run on partial data)
- Sets status to 'failed' if failure occurs on the first turn
- Suppresses success log message when agent call has failed
- Uses generic error message to avoid leaking internal error details
- Cloud Mode: Added backend API integration for orchestrating simulations via HTTP
- Agent Wrappers: Created framework-specific wrappers for OpenAI, LangChain, Gemini, and Anthropic
- Tool Calls Support: Added
tool_callsandtool_responsesfields toAgentResponsefor structured tool data - Run Test Name Support: Added
run_test_nameparameter as an alternative torun_idfor better developer experience - Timeout Configuration: Added configurable timeout parameter for API requests (default: 120s)
- OpenTelemetry Integration: Added simulator attribute propagation via baggage context using
fi_instrumentation - Test Suite: Added comprehensive tests for agent wrappers and runner dispatch logic
- Decoupled LiveKit: Moved all LiveKit-specific logic to
LiveKitEngine, making it an optional dependency - Architecture: Refactored
TestRunnerto use Strategy Pattern withBaseEngine,LiveKitEngine, andCloudEngine - Imports: Converted all relative imports to absolute imports (
from fi.simulate...) - Error Handling: Improved error messages to display backend's actual error response instead of generic HTTP status codes
- Role Conversion: Implemented role mapping between SDK and backend (SDK "assistant" → backend "user", backend "assistant" → SDK "user")
- Message Filtering: Filter out
toolandsystemmessages and empty content from conversation history sent to user's agent