08 Preset Debug Info
Read that preset JSON without squinting
- preset_name
- source_node_id
- source_node_class
- field_count
- summary_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 IDpreset_jsonoutput, 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_countis 0 on a preset you know had values - the JSON wasn't produced by this pack's save nodes, so it doesn't have afieldslist. Checksummary_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_detailsblock tells you which nodes were the culprits, which is exactly what you need to rewire them.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| preset_json | STRING | {} | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| preset_name | STRING | — |
| source_node_id | STRING | — |
| source_node_class | STRING | — |
| field_count | INT | — |
| summary_json | STRING | — |