pacai.core.isolation.level

 1import enum
 2import typing
 3
 4import pacai.core.isolation.isolator
 5import pacai.core.isolation.none
 6import pacai.core.isolation.process
 7
 8class Level(enum.Enum):
 9    """ An enum representing the different isolation levels supported by the engine. """
10
11    NONE = 'none'
12    PROCESS = 'process'
13
14    def get_isolator(self, **kwargs: typing.Any) -> pacai.core.isolation.isolator.AgentIsolator:
15        """ Get an isolator matching the given level. """
16
17        isolator: pacai.core.isolation.isolator.AgentIsolator | None = None
18
19        if (self == Level.NONE):
20            isolator = pacai.core.isolation.none.NoneIsolator(**kwargs)
21        elif (self == Level.PROCESS):
22            isolator = pacai.core.isolation.process.ProcessIsolator(**kwargs)
23
24        if (isolator is None):
25            raise ValueError(f"Unknown isolation level '{self}'.")
26
27        return isolator
28
29LEVELS: list[str] = [item.value for item in Level]
class Level(enum.Enum):
 9class Level(enum.Enum):
10    """ An enum representing the different isolation levels supported by the engine. """
11
12    NONE = 'none'
13    PROCESS = 'process'
14
15    def get_isolator(self, **kwargs: typing.Any) -> pacai.core.isolation.isolator.AgentIsolator:
16        """ Get an isolator matching the given level. """
17
18        isolator: pacai.core.isolation.isolator.AgentIsolator | None = None
19
20        if (self == Level.NONE):
21            isolator = pacai.core.isolation.none.NoneIsolator(**kwargs)
22        elif (self == Level.PROCESS):
23            isolator = pacai.core.isolation.process.ProcessIsolator(**kwargs)
24
25        if (isolator is None):
26            raise ValueError(f"Unknown isolation level '{self}'.")
27
28        return isolator

An enum representing the different isolation levels supported by the engine.

NONE = <Level.NONE: 'none'>
PROCESS = <Level.PROCESS: 'process'>
def get_isolator(self, **kwargs: Any) -> pacai.core.isolation.isolator.AgentIsolator:
15    def get_isolator(self, **kwargs: typing.Any) -> pacai.core.isolation.isolator.AgentIsolator:
16        """ Get an isolator matching the given level. """
17
18        isolator: pacai.core.isolation.isolator.AgentIsolator | None = None
19
20        if (self == Level.NONE):
21            isolator = pacai.core.isolation.none.NoneIsolator(**kwargs)
22        elif (self == Level.PROCESS):
23            isolator = pacai.core.isolation.process.ProcessIsolator(**kwargs)
24
25        if (isolator is None):
26            raise ValueError(f"Unknown isolation level '{self}'.")
27
28        return isolator

Get an isolator matching the given level.

LEVELS: list[str] = ['none', 'process']