16 lines
493 B
Python
16 lines
493 B
Python
from abc import ABC, abstractmethod
|
|
from dataclasses import dataclass
|
|
from typing import Generic, Protocol
|
|
|
|
from modules.task import QTask
|
|
from modules.utils.types import A, C, Q, V
|
|
from modules.variant_builder.context import DynamicCtx
|
|
from modules.variant_builder.task_pool import QTaskPool
|
|
|
|
|
|
class QTaskSelector(ABC, Generic[C, V, Q, A]):
|
|
@abstractmethod
|
|
def select(
|
|
self, filtered_tasks: list[QTask[C, V, Q, A]], ctx: DynamicCtx[C, V, Q, A]
|
|
) -> QTask[C, V, Q, A]: ...
|