Critical:
- rename nodes/ -> mp_nodes/, shared/ -> mp_shared/ to avoid shadowing
ComfyUI core's nodes.py via sys.path injection (root cause of v0.1.1
'nodes is not a package' startup failure)
- http_post now streams response and enforces 50MB cap mid-stream (DoS)
- AES key derivation: HKDF -> PBKDF2-HMAC-SHA256 600k iters + random salt
(work factor against weak-key brute force; ciphertext format changed)
- fs_mkdir/copy/move/delete confined to ComfyUI input/output/temp + ~ by
default; UTILITY_MEGAPACK_ALLOW_ARBITRARY_PATHS=1 to override
UX / correctness:
- combo settings now declare options array (themes dropdown was empty)
- LATENT default 1x4x8x8 zeros -> {} (avoids Flux/SD3 shape crashes)
- @op decorator rejects reserved widget names mode/theme at register time
- _pad_outputs docstring updated to match relaxed opaque-type behavior
21 lines
507 B
Python
21 lines
507 B
Python
"""ImageProNode — image loaders + modifications + inspectors."""
|
|
|
|
from mp_nodes._base import MegaPackNodeBase, OpRegistry
|
|
|
|
REGISTRY = OpRegistry()
|
|
op = REGISTRY.register
|
|
|
|
from mp_nodes.image_pro.operations import ( # noqa: E402, F401
|
|
load,
|
|
value_ops,
|
|
spatial_ops,
|
|
style_ops,
|
|
inspect,
|
|
)
|
|
|
|
|
|
class ImageProNode(MegaPackNodeBase):
|
|
REGISTRY = REGISTRY
|
|
RETURN_TYPES = ("IMAGE", "MASK", "INT", "INT", "STRING")
|
|
RETURN_NAMES = ("image", "mask", "width", "height", "metadata_json")
|