Source code for are.simulation.data_handler.models
# Copyright (c) Meta Platforms, Inc. and affiliates.# All rights reserved.## This source code is licensed under the terms described in the LICENSE file in# the root directory of this source tree.fromtypingimportAnyfrompydanticimportBaseModelfromare.simulation.scenarios.configimportScenarioRunnerConfigfromare.simulation.typesimportExecutionMetadata,PlaceholderMetadataTRACE_V1_VERSION:str="are_simulation_v1"classExportedEventMetadata(BaseModel):return_value:str|None=Nonereturn_value_type:str|None=Noneexception:str|None=Noneexception_stack_trace:str|None=None
[docs]classExportedTraceDefinitionMetadata(BaseModel):scenario_id:strseed:int|None=Noneduration:float|None=Nonetime_increment_in_seconds:int|None=Nonestart_time:float|None=Nonerun_number:int|None=None# Run number for multiple runs of the same scenariohints:list[ExportedHint]=[]config:str|None=Nonehas_a2a_augmentation:bool=Falsehas_tool_augmentation:bool=Falsehas_env_events_augmentation:bool=Falsehas_exception:bool=Falseexception_type:str|None=Noneexception_message:str|None=Nonetags:list[str]|None=Nonehf_metadata:ExportedHuggingFaceMetadata|None=None
classExportedTraceSimulationMetadata(BaseModel):agent_id:str|None=Nonemodel_id:str|None=NoneclassExportedTraceAnnotationMetadata(BaseModel):annotation_id:str|None=Noneannotator:str|None=Nonevalidation_decision:str|None=Nonecomment:str|None=Nonedate:float=0.0classExportedTraceLLMSafetyRedTeamingMetadata(BaseModel):""" Metadata specific to LLM Safety Red Teaming. """group_id:str|None=Nonecategory:str=""is_violating:bool=Falsehas_ars_violation:bool=Falsehas_crs_violation:bool=Falseis_false_refusal:bool=FalseclassExportedTraceAgentSecurityRedTeamingMetadata(BaseModel):""" Metadata specific to Agent Security Red Teaming. """group_id:str|None=Noneattack_category:str|None=Nonereferences:str|None=Noneadditional_notes:str|None=NoneclassExportedPlaceholderMetadata(BaseModel):""" Metadata for a placeholder. `parent_tool_name`: Name of the tool parent event. `parent_turn_idx`: Index of the turn the parent event belongs to. `parent_event_id`: ID of the parent event. `placeholder_turn_idx`: Index of the turn the placeholder belongs to. `placeholder_event_id`: ID of the placeholder event (where the placeholder is). """parent_tool_name:strparent_turn_idx:intparent_event_id:strplaceholder_turn_idx:intplaceholder_event_id:str@classmethoddeffrom_metadata(cls,metadata:PlaceholderMetadata)->"ExportedPlaceholderMetadata":""" Convert a PlaceholderMetadata instance to an ExportedPlaceholderMetadata instance. :params metadata: The PlaceholderMetadata instance to convert :returns: An ExportedPlaceholderMetadata instance """returncls(parent_tool_name=metadata.parent_tool_name,parent_turn_idx=metadata.parent_turn_idx,parent_event_id=metadata.parent_event_id,placeholder_turn_idx=metadata.placeholder_turn_idx,placeholder_event_id=metadata.placeholder_event_id,)defto_metadata(self)->PlaceholderMetadata:""" Convert this ExportedPlaceholderMetadata instance to a PlaceholderMetadata instance. :returns: A PlaceholderMetadata instance """returnPlaceholderMetadata(parent_tool_name=self.parent_tool_name,parent_turn_idx=self.parent_turn_idx,parent_event_id=self.parent_event_id,placeholder_turn_idx=self.placeholder_turn_idx,placeholder_event_id=self.placeholder_event_id,)classExportedExecutionMetadata(BaseModel):""" Data structure for exporting execution data. """has_placeholder_conflicts:boolplaceholders:list[ExportedPlaceholderMetadata]@classmethoddeffrom_metadata(cls,metadata:ExecutionMetadata)->"ExportedExecutionMetadata":""" Convert an ExecutionMetadata instance to an ExportedExecutionMetadata instance. :params metadata: The ExecutionMetadata instance to convert :returns: An ExportedExecutionMetadata instance """returncls(has_placeholder_conflicts=metadata.has_placeholder_conflicts,placeholders=[ExportedPlaceholderMetadata.from_metadata(placeholder)forplaceholderinmetadata.placeholders],)defto_metadata(self)->ExecutionMetadata:""" Convert this ExportedExecutionMetadata instance to an ExecutionMetadata instance. :returns: An ExecutionMetadata instance """returnExecutionMetadata(has_placeholder_conflicts=self.has_placeholder_conflicts,placeholders=[placeholder.to_metadata()forplaceholderinself.placeholders],)