74 lines
1.6 KiB
Python
74 lines
1.6 KiB
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Any
|
|
|
|
|
|
@dataclass
|
|
class MetadataBundle:
|
|
filename: str
|
|
width: int
|
|
height: int
|
|
prompt_raw: str | None
|
|
workflow_raw: str | None
|
|
parameters_raw: str | None
|
|
source_format: str
|
|
user_comment_raw: str | None = None
|
|
image_description_raw: str | None = None
|
|
software_raw: str | None = None
|
|
image_path: str | None = None
|
|
base_dir: str | None = None
|
|
|
|
|
|
@dataclass
|
|
class NodeRecord:
|
|
node_id: str
|
|
class_type: str
|
|
inputs: dict[str, Any]
|
|
widgets_values: list[Any] | dict[str, Any] | None = None
|
|
outputs: list[Any] | None = None
|
|
|
|
|
|
@dataclass
|
|
class PromptSegment:
|
|
text: str
|
|
node_id: str | None
|
|
class_type: str | None
|
|
field: str | None
|
|
path: list[str]
|
|
confidence: float = 1.0
|
|
|
|
|
|
@dataclass
|
|
class LoraInfo:
|
|
node_id: str
|
|
class_type: str
|
|
lora_name: str
|
|
strength_model: float | None
|
|
strength_clip: float | None
|
|
path: list[str]
|
|
|
|
|
|
@dataclass
|
|
class ParseResult:
|
|
positive: str = ""
|
|
negative: str = ""
|
|
seed: int = -1
|
|
steps: int = 0
|
|
cfg: float = 0.0
|
|
width: int = 0
|
|
height: int = 0
|
|
model_name: str = ""
|
|
filename: str = ""
|
|
setting: str = ""
|
|
vae_name: str = ""
|
|
sampler_name: str = ""
|
|
scheduler: str = ""
|
|
loras: list[LoraInfo] = field(default_factory=list)
|
|
raw_prompt_json: str = ""
|
|
raw_workflow_json: str = ""
|
|
partial_result: dict[str, Any] = field(default_factory=dict)
|
|
debug_trace: str = ""
|
|
confidence: float = 0.0
|
|
status_message: str = ""
|