fix(otel): remove unchecked guardrail cost cast

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
shivam 2026-09-11 02:56:50 +00:00
parent 963fd9eee4
commit d369671fcb

View file

@ -1,6 +1,6 @@
import math
from collections.abc import Mapping
from typing import Annotated, Final, cast
from typing import Annotated, Final
from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, ValidationError
@ -126,6 +126,7 @@ class GuardrailProviderCostEntry(BaseModel):
_GUARDRAIL_PROVIDER_COST_ENTRY_ADAPTER: Final[TypeAdapter[GuardrailProviderCostEntry]] = TypeAdapter(
GuardrailProviderCostEntry
)
_GUARDRAIL_INFORMATION_ENTRIES_ADAPTER: Final[TypeAdapter[tuple[object, ...]]] = TypeAdapter(tuple[object, ...])
def _prompt_shield_entry_cost(raw: object) -> float | None:
@ -150,7 +151,7 @@ def prompt_shield_guardrail_cost(guardrail_information: object) -> float | None:
if guardrail_information is None:
return None
entries: Final[tuple[object, ...]] = (
tuple(cast("list[object] | tuple[object, ...]", guardrail_information))
_GUARDRAIL_INFORMATION_ENTRIES_ADAPTER.validate_python(guardrail_information)
if isinstance(guardrail_information, (list, tuple))
else (guardrail_information,)
)