Dropped the forceInput=True on payload_string so the socket is truly
optional. Added any_input_2, any_input_3, any_input_4 alongside the
existing any_input. Users can now hash purely on image + converted-
widget values without manufacturing a synthetic payload string.
Primary use case: image-only APIs with meaningful widgets. For a
Gemini Style Transfer node with (image, style dropdown, strength
float) and no prompt, convert the style and strength widgets to
inputs, then wire image -> any_input, style -> any_input_2,
strength -> any_input_3. All three factor into the hash.
Back-compat: workflows that only use payload_string + any_input
produce bit-identical hash keys to v1.0/v1.1. The "__slotN:" prefix
only appears when slots 2-4 are actually wired, so existing
hash_vault/ entries keep hitting. Verified with a direct comparison
against the pre-v1.2 hashing path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>