|
8 | 8 | from dataclasses import dataclass, field |
9 | 9 | from datetime import datetime, timezone |
10 | 10 | from enum import Enum |
11 | | -from typing import TYPE_CHECKING, Any, Optional, TypeVar |
12 | | - |
| 11 | +from typing import Any, Optional, TypeVar |
| 12 | + |
| 13 | +from pyrit.common.deprecation import print_deprecation_message |
| 14 | +from pyrit.identifiers.atomic_attack_identifier import build_atomic_attack_identifier |
| 15 | +from pyrit.identifiers.component_identifier import ComponentIdentifier |
| 16 | +from pyrit.models.conversation_reference import ConversationReference, ConversationType |
| 17 | +from pyrit.models.message_piece import MessagePiece |
| 18 | +from pyrit.models.retry_event import RetryEvent |
| 19 | +from pyrit.models.score import Score |
13 | 20 | from pyrit.models.strategy_result import StrategyResult |
14 | 21 |
|
15 | | -if TYPE_CHECKING: |
16 | | - from pyrit.identifiers.component_identifier import ComponentIdentifier |
17 | | - from pyrit.models.conversation_reference import ConversationReference |
18 | | - from pyrit.models.message_piece import MessagePiece |
19 | | - from pyrit.models.retry_event import RetryEvent |
20 | | - from pyrit.models.score import Score |
21 | | - |
22 | | -from pyrit.models.conversation_reference import ConversationType |
23 | | - |
24 | 22 | AttackResultT = TypeVar("AttackResultT", bound="AttackResult") |
25 | 23 |
|
26 | 24 |
|
@@ -119,8 +117,6 @@ def attack_identifier(self) -> Optional[ComponentIdentifier]: |
119 | 117 | Optional[ComponentIdentifier]: The attack strategy identifier, or ``None``. |
120 | 118 |
|
121 | 119 | """ |
122 | | - from pyrit.common.deprecation import print_deprecation_message |
123 | | - |
124 | 120 | print_deprecation_message( |
125 | 121 | old_item="AttackResult.attack_identifier", |
126 | 122 | new_item="AttackResult.atomic_attack_identifier or get_attack_strategy_identifier()", |
@@ -231,8 +227,6 @@ def to_dict(self) -> dict[str, Any]: |
231 | 227 | Returns: |
232 | 228 | dict[str, Any]: Serialized payload suitable for REST APIs or persistence. |
233 | 229 | """ |
234 | | - from pyrit.models.conversation_reference import ConversationReference |
235 | | - |
236 | 230 | return { |
237 | 231 | "conversation_id": self.conversation_id, |
238 | 232 | "objective": self.objective, |
@@ -274,12 +268,6 @@ def from_dict(cls, data: dict[str, Any]) -> AttackResult: |
274 | 268 | Returns: |
275 | 269 | AttackResult: Reconstructed instance. |
276 | 270 | """ |
277 | | - from pyrit.identifiers.component_identifier import ComponentIdentifier |
278 | | - from pyrit.models.conversation_reference import ConversationReference |
279 | | - from pyrit.models.message_piece import MessagePiece |
280 | | - from pyrit.models.retry_event import RetryEvent |
281 | | - from pyrit.models.score import Score |
282 | | - |
283 | 271 | return cls( |
284 | 272 | conversation_id=data["conversation_id"], |
285 | 273 | objective=data["objective"], |
@@ -330,16 +318,12 @@ def _add_attack_identifier_compat(cls: type) -> type: |
330 | 318 | def wrapped_init(self: Any, *args: Any, **kwargs: Any) -> None: |
331 | 319 | attack_identifier = kwargs.pop("attack_identifier", None) |
332 | 320 | if attack_identifier is not None: |
333 | | - from pyrit.common.deprecation import print_deprecation_message |
334 | | - |
335 | 321 | print_deprecation_message( |
336 | 322 | old_item="AttackResult(attack_identifier=...)", |
337 | 323 | new_item="AttackResult(atomic_attack_identifier=...)", |
338 | 324 | removed_in="0.15.0", |
339 | 325 | ) |
340 | 326 | if kwargs.get("atomic_attack_identifier") is None: |
341 | | - from pyrit.identifiers.atomic_attack_identifier import build_atomic_attack_identifier |
342 | | - |
343 | 327 | kwargs["atomic_attack_identifier"] = build_atomic_attack_identifier( |
344 | 328 | attack_identifier=attack_identifier, |
345 | 329 | ) |
|
0 commit comments