Skip to content

Commit 15227de

Browse files
committed
fix typing for output meta
1 parent 6b6ac0d commit 15227de

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/inferencesh/models/output_meta.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Output metadata types for pricing and usage tracking."""
22

3-
from typing import Any, List, Optional
3+
from typing import Any, List, Optional, Union
44
from enum import Enum
55
from pydantic import BaseModel, Field
66

@@ -84,6 +84,10 @@ class RawMeta(MetaItem):
8484
cost: float = Field(default=0, description="Cost in dollar cents")
8585

8686

87+
# Union type for proper serialization of all MetaItem subclasses
88+
MetaItemUnion = Union[TextMeta, ImageMeta, VideoMeta, AudioMeta, RawMeta]
89+
90+
8791
class OutputMeta(BaseModel):
8892
"""
8993
Structured metadata about task inputs and outputs for pricing calculation.
@@ -108,11 +112,11 @@ class OutputMeta(BaseModel):
108112
)]
109113
)
110114
"""
111-
inputs: List[MetaItem] = Field(
115+
inputs: List[MetaItemUnion] = Field(
112116
default_factory=list,
113117
description="Metadata about consumed inputs"
114118
)
115-
outputs: List[MetaItem] = Field(
119+
outputs: List[MetaItemUnion] = Field(
116120
default_factory=list,
117121
description="Metadata about produced outputs"
118122
)

0 commit comments

Comments
 (0)