Nodes/ComfyUI-ZMongo/08 Preset Debug Info
ComfyUI Node

08 Preset Debug Info

Read that preset JSON without squinting

By CentralFloridaAttorney·Created 5 months ago·Updated 2 months ago· 1
08 Preset Debug Info
    • preset_name
    • source_node_id
    • source_node_class
    • field_count
    • summary_json
    preset_json{}

    ComfyUI-ZMongo's preset files are JSON, and JSON is where debugging goes to hide. Preset Debug Info exists to pull that JSON out into something you can actually read: feed it any preset payload and it hands back the preset name, the node it came from, the field count, and a summary_json that lists every captured field with its declared type and - the useful part - whether it was resolved from an upstream link.

    This is the node you reach for when Save Preset By Node ID reports "unresolved links" or when a loaded preset isn't applying the values you expected. It's pure diagnostics: no database, no network, no session required. If you have the JSON, this node will dissect it.

    How it works

    The mechanism is deliberately simple: it parses the preset_json string, extracts the top-level fields list, and rebuilds a readable summary. For each field it reports input_name, declared_type, widget_kind, the actual value, and the resolution trail - resolved_from_link, resolved_link_target, resolved_source_node_id, resolved_source_node_class, and so on. It also surfaces any unresolved_links and the warning string the save node attached, so you can see exactly which values were dropped and why.

    Because it shares the same output names as Load Preset (preset_name, source_node_id, source_node_class, field_count), you can drop it inline where a load is failing and compare what the loader saw against what the saver wrote.

    Inputs and outputs

    One input, one job:

    • preset_json - the preset payload, typically wired from a Save Preset By Node ID preset_json output, a Load Preset output, or pasted from a file.

    Five outputs:

    • preset_name, source_node_id, source_node_class - where the preset came from.
    • field_count - how many fields were captured (an INT; handy for a quick sanity check that the save actually grabbed the node's widgets).
    • summary_json - the full human-readable breakdown, including field types, link-resolution details, and any warnings.

    If you feed it garbage or empty JSON, you get empty string outputs, field_count of 0, and a summary_json that says "success": false, "message": "Invalid preset JSON." rather than a crash.

    Installing it

    It ships with the pack, so it's the same one-line install as everything else:

    cd ComfyUI/custom_nodes
    git clone https://github.com/CentralFloridaAttorney/ComfyUI-ZMongo
    

    Restart ComfyUI, or grab it through ComfyUI Manager under "ComfyUI-ZMongo". (The pack's requirements.txt is heavy - pymongo, langchain, sentence-transformers, transformers - even for a node that touches no network.)

    Common issues

    This node is about as failure-proof as a ComfyUI node gets, but the two things people actually hit:

    • field_count is 0 on a preset you know had values - the JSON wasn't produced by this pack's save nodes, so it doesn't have a fields list. Check summary_json; it will tell you the structure it found.
    • Warnings about unresolved links - not an error. The save happened, but some linked inputs couldn't be flattened to literals. The summary's unresolved_link_details block tells you which nodes were the culprits, which is exactly what you need to rewire them.
    CategoryZMongo/08 Presets

    Inputs (1)

    NameTypeDefaultDescription
    preset_jsonSTRING{}

    Outputs (5)

    NameTypeDescription
    preset_nameSTRING
    source_node_idSTRING
    source_node_classSTRING
    field_countINT
    summary_jsonSTRING