Source code for ralph.mcp.multimodal._capability_verdict

"""Capability verdict dataclass for multimodal delivery mode checks."""

from __future__ import annotations

from dataclasses import dataclass

from ralph.mcp.multimodal._delivery_mode import DeliveryMode


[docs] @dataclass(frozen=True) class CapabilityVerdict: """Result of checking whether a modality/delivery mode is supported.""" modality: str delivery: DeliveryMode provider: str model_id: str | None = None reason: str = "" block_type: str | None = None
[docs] def is_inline(self) -> bool: """Return True if inline image delivery is used.""" return self.delivery == DeliveryMode.INLINE_IMAGE
[docs] def is_resource_reference(self) -> bool: """Return True if resource-reference replay delivery will be used.""" return self.delivery == DeliveryMode.RESOURCE_REFERENCE_REPLAY
[docs] def is_typed_block(self) -> bool: """Return True if typed block delivery will be used.""" return self.delivery == DeliveryMode.TYPED_BLOCK
[docs] def is_supported(self) -> bool: """Return True if the modality has any supported delivery mode.""" return self.delivery not in {DeliveryMode.UNSUPPORTED}