-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathmutations.py
More file actions
33 lines (24 loc) · 902 Bytes
/
Copy pathmutations.py
File metadata and controls
33 lines (24 loc) · 902 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""Typed mutation results, separate from transport success."""
from dataclasses import dataclass
from enum import IntEnum
class DeletionOutcome(IntEnum):
"""Only COMPLETED and ALREADY_ABSENT establish logical deletion completion."""
UNSPECIFIED = 0
COMPLETED = 1
ACCEPTED = 2
ALREADY_ABSENT = 3
@classmethod
def _missing_(cls, value):
if not isinstance(value, int):
return None
member = int.__new__(cls, value)
member._name_ = f"UNKNOWN_{value}"
member._value_ = value
return member
@dataclass(frozen=True)
class DeletionResult:
"""Outcome for the original target; unknown outcomes never imply completion."""
outcome: DeletionOutcome
sandbox_id: str | None = None