24 Commits
Author SHA1 Message Date
Dariusz L ddc5333bd2 refactor: unify model data contracts 2026-08-21 23:10:26 +02:00
Dariusz L c418ab40dd refactor: unify dynamic widget choice merging 2026-08-05 04:36:54 +02:00
Dariusz L 0f70d85f56 Add analysis_id support across workflow analysis pipeline 2026-08-03 20:01:02 +02:00
Dariusz L a431723b7d fix: preserve promoted context cache when inner subgraph widgets change
Previously, _get_promoted_widget_context_cache_key included widgets_values
from context nodes, so changing a widget inside a promoted subgraph
invalidated the entire cache snapshot even when promotion topology and
other nodes were unchanged.

This makes promoted-context snapshots key off node structure and
topology only, while individual nodes are still reanalyzed when their
widgets_values actually change.
2026-08-03 19:51:42 +02:00
Dariusz L c294d9d389 Unify local match deduplication 2026-08-03 14:05:05 +02:00
Dariusz L 9a7b16cde2 refactor: move missing workflow grouping 2026-08-02 19:40:10 +02:00
Dariusz L c462db3345 refactor: extract workflow inventory 2026-08-02 19:38:35 +02:00
Dariusz L 426b7c0542 refactor: extract workflow analysis 2026-08-02 19:35:38 +02:00
Dariusz L e3fdf9f334 refactor: extract workflow references 2026-08-02 19:28:33 +02:00
Dariusz L 9daa3403e4 refactor: extract dynamic workflow widgets 2026-08-02 19:21:14 +02:00
Dariusz L 1e7cad595c refactor: extract custom-node model adapters from inline handlers 2026-07-28 14:43:37 +02:00
Dariusz L 36fa574562 Preserve workflow UI state and avoid redundant matching during refresh
- Skip fuzzy matching for already-resolved model references in the backend
- Keep existing nodes in their previous result positions during incremental workflow analysis
- Simplify frontend workflow sync and add a content-preserving refresh path
- Preserve scroll position and suppress progress overlay during background Missing/Loaded Models refresh
- Add backend and frontend tests for the new incremental refresh behavior
2026-07-27 18:02:10 +02:00
Dariusz L d29803aeff feat: incremental workflow analysis via node fingerprint cache and preserved loaded models refresh on widget changes 2026-07-27 17:24:17 +02:00
Dariusz L 15e0b932e8 Add shared workflow model inventory cache and improve progress/hash behavior 2026-07-27 17:05:17 +02:00
Dariusz L 467b1987e1 Improve LoRA model strength detection across workflow analysis and UI 2026-07-24 17:57:27 +02:00
Dariusz L 1ee4c6ce4c workflow_analyzer: handle implicit control_after_generate widgets in dynamic layouts
Treat control_after_generate widgets that are implicitly inserted after seed
widgets as non-model widgets when analyzing dynamic node layouts. This
prevents the resolver from attempting to resolve control values such as
'fixed', 'randomize', 'increment', and 'decrement' as model paths.
2026-07-24 15:22:55 +02:00
Dariusz L ac9bf820c8 Handle control_after_generate widget indexes in workflow analyzer 2026-07-24 15:10:00 +02:00
Dariusz L 03c545e297 Improve workflow analyzer widget category hints and test coverage 2026-07-24 14:43:18 +02:00
Dariusz L 45ea998068 Resolve GGUF models by normalized download category alias 2026-07-24 14:11:25 +02:00
Dariusz L da7d9b3fc9 Skip non-model reference categories in workflow analyzer
Treat widget values under the configs and custom_nodes dynamic
categories as non-model references so the workflow analyzer does
not falsely mark them as missing models. Added a regression test
to verify a checkpoint widget is still detected when a config
widget is present.
2026-07-24 14:04:07 +02:00
Dariusz L d293b0aaf8 Treat model_gguf as diffusion_models and render accepted file formats in missing-model UI 2026-07-20 16:54:28 +02:00
Dariusz L a4460afa65 fix(workflow_analyzer): ignore generic model_name STRING widgets in metadata/search nodes
Generic widget names such as model_name are no longer treated as local
model references by default. Only folder-backed schemas, known widget
indexes, or a model-typed combo/output pairing now admit an extensionless
value.

This prevents metadata/search nodes (for example Civitai Hash Fetcher)
with a model_name STRING input from being incorrectly reported as missing
models.

Added test_model_name_string_used_as_metadata_query_is_ignored to cover
the regression.
2026-07-19 19:34:10 +02:00
Dariusz L fb600a3868 Refine workflow model reference detection
- Accept explicit model URNs without requiring model widget metadata
- Restrict model scanning to widgets with category/model hints or model-like filenames
- Remove over-broad single-widget-value detection path
- Add tests for cached model text, custom selectors, and constant/model slot edge cases
2026-07-19 19:10:54 +02:00
Dariusz L cb1042b00d Add tests directory and remove tests/ from .gitignore 2026-07-14 11:15:51 +02:00