Skip to content

Commit 74ea500

Browse files
committed
Fix ty-check regressions after deprecation removals
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 1c4a998 commit 74ea500

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

pyrit/backend/models/attacks.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,17 @@ class AttackSummary(AttackResult):
211211
)
212212

213213
@field_serializer("related_conversations")
214-
def _serialize_related_conversations(self, conversations: set[ConversationReference]) -> list[Any]:
214+
def _serialize_related_conversations(
215+
self,
216+
related_conversations: set[ConversationReference],
217+
) -> list[dict[str, Any]]:
215218
"""
216219
Serialize related conversations in a stable (sorted) order for deterministic output.
217220
218221
Returns:
219222
A list of serialized conversation references ordered by ``conversation_id``.
220223
"""
221-
ordered = sorted(conversations, key=lambda ref: ref.conversation_id)
224+
ordered = sorted(related_conversations, key=lambda ref: ref.conversation_id)
222225
return [ref.model_dump() for ref in ordered]
223226

224227
@computed_field # type: ignore[prop-decorator]

pyrit/scenario/scenarios/airt/scam.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pyrit.common.path import EXECUTOR_RED_TEAM_PATH, SCORER_SEED_PROMPT_PATH
1010
from pyrit.executor.attack import ContextComplianceAttack, RedTeamingAttack, RolePlayAttack, RolePlayPaths
1111
from pyrit.executor.attack.core.attack_config import AttackAdversarialConfig, AttackScoringConfig
12-
from pyrit.models import Parameter, SeedAttackGroup
12+
from pyrit.models import Parameter, SeedAttackGroup, SeedPrompt
1313
from pyrit.prompt_target import PromptTarget
1414
from pyrit.scenario.core.atomic_attack import AtomicAttack
1515
from pyrit.scenario.core.attack_technique import AttackTechnique
@@ -174,9 +174,9 @@ def _get_atomic_attack_from_strategy(self, *, strategy: str, seed_groups: list[S
174174

175175
if strategy == "persuasive_rta":
176176
# Set system prompt to generic persuasion persona
177-
self._adversarial_config.system_prompt_path = Path(
178-
PERSUASION_DECEPTION_PATH, "persuasion_persona_generic.yaml"
179-
).resolve()
177+
self._adversarial_config.system_prompt = SeedPrompt.from_yaml_file(
178+
Path(PERSUASION_DECEPTION_PATH, "persuasion_persona_generic.yaml").resolve()
179+
)
180180

181181
attack_strategy = RedTeamingAttack(
182182
objective_target=self._objective_target,
@@ -193,7 +193,7 @@ def _get_atomic_attack_from_strategy(self, *, strategy: str, seed_groups: list[S
193193
)
194194
elif strategy == "context_compliance":
195195
# Set system prompt to default
196-
self._adversarial_config.system_prompt_path = None
196+
self._adversarial_config.system_prompt = None
197197

198198
attack_strategy = ContextComplianceAttack(
199199
objective_target=self._objective_target,

0 commit comments

Comments
 (0)