ComfyUI/tests-unit/assets_test/services
Simon Pinfold 958a7f1f19 feat(assets): replace response file_path with persisted loader_path
The old file_path response field was a namespaced storage locator
(models/checkpoints/foo.safetensors): not an absolute path, not unique
identity, and not the value a loader consumes. Nothing needs that shape
on the wire (hash/ID-based locating is the long-term direction), so it
is dropped rather than renamed; the storage-root matching stays internal,
powering display_name.

What loaders DO need is the in-root loader path (category dropped:
models/checkpoints/foo/bar.safetensors -> foo/bar.safetensors). Serve it
as a first-class loader_path field, persisted on asset_references
(migration 0006) and written by every ingest pipeline at insert, so
responses read the column verbatim.

Like the model_type tags, loader_path is a seed-time derivative of the
model folder registry, maintained by the same scan lifecycle (new files seed
fresh values, pruning retires rows whose bucket disappeared). Rows
predating the column serve a null loader_path; databases from before
this stack already need recreating for the base branch's tag changes.

loader_path resolves every registered base including extra_model_paths
entries; display_name only the canonical storage roots. A file can
therefore be loadable with no display name (extra-path models) or the
reverse (unregistered files under the models root), and loader_path is
null exactly when no loader can resolve the file.
2026-07-07 08:33:47 +12:00
..
__init__.py refactor(assets): modular architecture + async two-phase scanner & background seeder (#12621) 2026-03-07 20:37:25 -05:00
conftest.py feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00
test_asset_management.py feat(assets): align local API with cloud spec (#12863) 2026-03-16 12:34:04 -07:00
test_bulk_ingest.py feat(assets): replace response file_path with persisted loader_path 2026-07-07 08:33:47 +12:00
test_cursor.py feat(assets): cursor-based pagination on GET /api/assets (#14014) 2026-06-09 21:14:03 -07:00
test_enrich.py feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00
test_image_dimensions.py feat(assets): extract image dimensions at ingest and emit on asset responses (#13991) 2026-06-08 14:27:50 -07:00
test_ingest.py fix(assets): mark path-derived upload tags automatic 2026-06-27 15:35:10 +12:00
test_path_utils.py feat(assets): replace response file_path with persisted loader_path 2026-07-07 08:33:47 +12:00
test_tag_histogram.py feat(assets): align local API with cloud spec (#12863) 2026-03-16 12:34:04 -07:00
test_tagging.py chore(assets): drop vestigial tags.tag_type column (#14248) 2026-06-09 21:07:10 -07:00