Source code for VmaxBuilder.api.allocation

"""Generated: validation needed.

Description:
    API-level allocation stage orchestrator.
"""

from __future__ import annotations

from VmaxBuilder.allocation.implementation import DefaultAllocationStageImplementation
from VmaxBuilder.config.dataclasses import APIConfig
from VmaxBuilder.config.enums import StageName
from VmaxBuilder.core.protocols import Scaffold, StageProtocol

# ruff:


[docs] class AllocationStageOrchestrator(StageProtocol): """Generated: validation needed. Description: Orchestrate allocation stage by delegating to allocation implementation module. Args: implementation (DefaultAllocationStageImplementation | None): Optional allocation implementation override. """ name: StageName = StageName.ALLOCATION def __init__( self, implementation: DefaultAllocationStageImplementation | None = None, ) -> None: self._implementation = implementation or DefaultAllocationStageImplementation()
[docs] def run(self, scaffold: Scaffold, config: APIConfig) -> Scaffold: """Generated: validation needed. Description: Run allocation stage using configured implementation. Args: scaffold (Scaffold): Shared pipeline scaffold. config (APIConfig): Root API config. Returns: Scaffold: Updated scaffold. Modifies: scaffold payload. """ return self._implementation.run(scaffold, config)