mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
fix(nodes): rearrange fields.py to avoid needing forward refs
This commit is contained in:
parent
b386b1b8af
commit
322a60f48f
@ -182,6 +182,51 @@ class FieldDescriptions:
|
|||||||
freeu_b2 = "Scaling factor for stage 2 to amplify the contributions of backbone features."
|
freeu_b2 = "Scaling factor for stage 2 to amplify the contributions of backbone features."
|
||||||
|
|
||||||
|
|
||||||
|
class ImageField(BaseModel):
|
||||||
|
"""An image primitive field"""
|
||||||
|
|
||||||
|
image_name: str = Field(description="The name of the image")
|
||||||
|
|
||||||
|
|
||||||
|
class BoardField(BaseModel):
|
||||||
|
"""A board primitive field"""
|
||||||
|
|
||||||
|
board_id: str = Field(description="The id of the board")
|
||||||
|
|
||||||
|
|
||||||
|
class DenoiseMaskField(BaseModel):
|
||||||
|
"""An inpaint mask field"""
|
||||||
|
|
||||||
|
mask_name: str = Field(description="The name of the mask image")
|
||||||
|
masked_latents_name: Optional[str] = Field(default=None, description="The name of the masked image latents")
|
||||||
|
|
||||||
|
|
||||||
|
class LatentsField(BaseModel):
|
||||||
|
"""A latents tensor primitive field"""
|
||||||
|
|
||||||
|
latents_name: str = Field(description="The name of the latents")
|
||||||
|
seed: Optional[int] = Field(default=None, description="Seed used to generate this latents")
|
||||||
|
|
||||||
|
|
||||||
|
class ColorField(BaseModel):
|
||||||
|
"""A color primitive field"""
|
||||||
|
|
||||||
|
r: int = Field(ge=0, le=255, description="The red component")
|
||||||
|
g: int = Field(ge=0, le=255, description="The green component")
|
||||||
|
b: int = Field(ge=0, le=255, description="The blue component")
|
||||||
|
a: int = Field(ge=0, le=255, description="The alpha component")
|
||||||
|
|
||||||
|
def tuple(self) -> Tuple[int, int, int, int]:
|
||||||
|
return (self.r, self.g, self.b, self.a)
|
||||||
|
|
||||||
|
|
||||||
|
class ConditioningField(BaseModel):
|
||||||
|
"""A conditioning tensor primitive value"""
|
||||||
|
|
||||||
|
conditioning_name: str = Field(description="The name of conditioning tensor")
|
||||||
|
# endregion
|
||||||
|
|
||||||
|
|
||||||
class MetadataField(RootModel):
|
class MetadataField(RootModel):
|
||||||
"""
|
"""
|
||||||
Pydantic model for metadata with custom root of type dict[str, Any].
|
Pydantic model for metadata with custom root of type dict[str, Any].
|
||||||
@ -285,7 +330,7 @@ class WithBoard(BaseModel):
|
|||||||
Inherit from this class if your node needs a board input field.
|
Inherit from this class if your node needs a board input field.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
board: Optional["BoardField"] = Field(
|
board: Optional[BoardField] = Field(
|
||||||
default=None,
|
default=None,
|
||||||
description=FieldDescriptions.board,
|
description=FieldDescriptions.board,
|
||||||
json_schema_extra=InputFieldJSONSchemaExtra(
|
json_schema_extra=InputFieldJSONSchemaExtra(
|
||||||
@ -518,48 +563,3 @@ def OutputField(
|
|||||||
field_kind=FieldKind.Output,
|
field_kind=FieldKind.Output,
|
||||||
).model_dump(exclude_none=True),
|
).model_dump(exclude_none=True),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ImageField(BaseModel):
|
|
||||||
"""An image primitive field"""
|
|
||||||
|
|
||||||
image_name: str = Field(description="The name of the image")
|
|
||||||
|
|
||||||
|
|
||||||
class BoardField(BaseModel):
|
|
||||||
"""A board primitive field"""
|
|
||||||
|
|
||||||
board_id: str = Field(description="The id of the board")
|
|
||||||
|
|
||||||
|
|
||||||
class DenoiseMaskField(BaseModel):
|
|
||||||
"""An inpaint mask field"""
|
|
||||||
|
|
||||||
mask_name: str = Field(description="The name of the mask image")
|
|
||||||
masked_latents_name: Optional[str] = Field(default=None, description="The name of the masked image latents")
|
|
||||||
|
|
||||||
|
|
||||||
class LatentsField(BaseModel):
|
|
||||||
"""A latents tensor primitive field"""
|
|
||||||
|
|
||||||
latents_name: str = Field(description="The name of the latents")
|
|
||||||
seed: Optional[int] = Field(default=None, description="Seed used to generate this latents")
|
|
||||||
|
|
||||||
|
|
||||||
class ColorField(BaseModel):
|
|
||||||
"""A color primitive field"""
|
|
||||||
|
|
||||||
r: int = Field(ge=0, le=255, description="The red component")
|
|
||||||
g: int = Field(ge=0, le=255, description="The green component")
|
|
||||||
b: int = Field(ge=0, le=255, description="The blue component")
|
|
||||||
a: int = Field(ge=0, le=255, description="The alpha component")
|
|
||||||
|
|
||||||
def tuple(self) -> Tuple[int, int, int, int]:
|
|
||||||
return (self.r, self.g, self.b, self.a)
|
|
||||||
|
|
||||||
|
|
||||||
class ConditioningField(BaseModel):
|
|
||||||
"""A conditioning tensor primitive value"""
|
|
||||||
|
|
||||||
conditioning_name: str = Field(description="The name of conditioning tensor")
|
|
||||||
# endregion
|
|
||||||
|
Loading…
Reference in New Issue
Block a user