Commit Graph
48 Commits
Author SHA1 Message Date
Dariusz L 28af2d9e61 refactor: centralize CivitAI sidecar persistence 2026-08-07 02:54:02 +02:00
Dariusz L e21672196d refactor: share model path root validation 2026-08-07 01:20:14 +02:00
Dariusz L 1bba061a29 refactor: centralize filename extraction callsites 2026-08-07 01:15:45 +02:00
Dariusz L 069a588fb1 refactor: unify CivitAI metadata payloads 2026-08-06 23:06:14 +02:00
Dariusz L 62a4f597b7 refactor: unify workflow payload validation 2026-08-06 20:42:37 +02:00
Dariusz L 233731acce refactor: unify local hash match enrichment 2026-08-06 20:35:38 +02:00
Dariusz L 6f35df33d6 refactor(core): reuse shared path containment check 2026-08-06 16:58:06 +02:00
Dariusz L 348f7ed8e0 refactor: unify model result builders 2026-08-06 16:20:31 +02:00
Dariusz L 07f5f5829a fix: prevent download UI collisions for custom nodes and handle missing preview probes 2026-08-06 01:47:33 +02:00
Dariusz L 7a219bd2d2 refactor: unify primary model file selection 2026-08-05 14:29:02 +02:00
Dariusz L 24d0dae0e0 refactor: unify CivitAI result payloads 2026-08-05 14:24:07 +02:00
Dariusz L 2daa09032c refactor: share download result status response 2026-08-05 05:14:22 +02:00
Dariusz L e1870a130a refactor: share metadata payload parsing 2026-08-05 04:39:33 +02:00
Dariusz L eb86f647c8 refactor: unify model download URL collection 2026-08-05 02:47:37 +02:00
Dariusz L 6118ff9eeb refactor workflow node traversal 2026-08-05 00:39:31 +02:00
Dariusz L 5e85fdb8da perf: optimize LoRA Manager archive hash search and guard SHA-256 fallback
- Skip name fallback in search provider runner when request already has sha256
- Add direct SQLite hash lookup in lora_manager_archive with result caching
- Add timing and logging for archive search
- Refresh HuggingFace author index metadata
- Add tests for hash search and provider fallback behavior
2026-08-04 06:01:08 +02:00
Dariusz L 3f0e753edd feat: add SHA-256 search support and refresh HuggingFace author index
- Propagate sha256 through search orchestrator and providers
- Add hash-based lookup for CivitAI, HuggingFace, CivArchive, and LoRA Manager Archive
- Update search UI to accept SHA-256 hashes and refine link/name toggle styling
- Refresh HuggingFace author index metadata
2026-08-04 05:41:51 +02:00
Dariusz L 0f70d85f56 Add analysis_id support across workflow analysis pipeline 2026-08-03 20:01:02 +02:00
Dariusz L 7cba340de1 Unify hash request validation 2026-08-03 14:15:00 +02:00
Dariusz L e1e725792b Unify shared path normalization 2026-08-03 12:59:04 +02:00
Dariusz L 510aa570ce Unify remote dead-link detection 2026-08-03 12:54:55 +02:00
Dariusz L 2559145fc1 Unify model category aliases across backend and UI 2026-08-03 12:52:20 +02:00
Dariusz L c0abf02040 refactor: normalize CivArchive diagnostics 2026-08-02 22:15:53 +02:00
Dariusz L 0531f4e9b2 feat: expose CivArchive provider status 2026-08-02 22:00:51 +02:00
Dariusz L 9daa3403e4 refactor: extract dynamic workflow widgets 2026-08-02 19:21:14 +02:00
Dariusz L 8cfb595f92 refactor: extract static workflow widgets 2026-08-02 19:10:13 +02:00
Dariusz L 4d65a4dc87 refactor(search): extract search support service 2026-08-02 03:08:50 +02:00
Dariusz L 3f0359e1f4 refactor(context): require hash and download dependencies 2026-08-02 03:04:29 +02:00
Dariusz L 0b2166ae58 refactor(context): require metadata service dependencies 2026-08-02 03:01:10 +02:00
Dariusz L d43fd41d32 refactor(context): require loaded models dependencies 2026-08-02 02:59:38 +02:00
Dariusz L b7a1b1cf07 refactor(context): require workflow service dependencies 2026-08-02 02:58:08 +02:00
Dariusz L 9cd8966d13 refactor(context): require directory service dependencies 2026-08-02 02:55:06 +02:00
Dariusz L 39a0606afa refactor(context): require scanner service dependencies 2026-08-02 02:52:37 +02:00
Dariusz L 8744da536b refactor(settings): extract settings routes into SettingsService 2026-08-02 02:48:51 +02:00
Dariusz L 3fdec8c24e refactor(loaded): extract loaded model route handlers into service 2026-08-02 02:38:08 +02:00
Dariusz L d8aed83e04 refactor(directories): extract directory route handlers into DirectoryService 2026-08-02 02:25:08 +02:00
Dariusz L c2f44e7831 refactor(metadata): extract metadata route handlers into MetadataService and add tests 2026-08-02 02:14:10 +02:00
Dariusz L 627dd5a84a refactor(scanner): extract scanner route handlers into ScannerService and add tests 2026-08-02 02:05:27 +02:00
Dariusz L 68321b7799 refactor(downloads): extract download route handlers into DownloadService and add tests 2026-08-02 01:50:27 +02:00
Dariusz L e9ffb8f632 refactor(hash): extract hash route handlers into HashService and add tests 2026-08-02 01:38:01 +02:00
Dariusz L b9054f0d22 refactor(search): centralize route context dependency resolution in SearchDependencies 2026-08-02 01:04:10 +02:00
Dariusz L b4b03bb335 refactor(search): extract orchestrator, providers, and cache from SearchService
Replace the 1095-line monolithic SearchService with a thin facade that
delegates to SearchOrchestrator. Split the implementation into three
focused modules:

- search_orchestrator.py: request parsing, provider coordination, and
  response construction
- search_providers.py: per-source execution, progress callbacks, and
  async task creation
- search_cache.py: timestamping and stable cache stamping for results

Add unit tests for the new components in
tests/test_search_service_components.py. Preserve the existing HTTP
route behavior by keeping SearchService.search_sources as the stable
route-facing API.
2026-08-02 00:56:18 +02:00
Dariusz L 380e5d4f9b refactor: replace generic DependencyCallable with explicit Protocols for model services 2026-08-02 00:32:57 +02:00
Dariusz L 1dd1b50635 refactor: introduce typed dependency dataclasses for model services
Replace dynamic MODEL_SERVICE_DEPENDENCIES injection with frozen dataclasses
(CivitAISearchDependencies, CustomUrlDependencies, ModelDetailsDependencies)
to make service dependencies explicit and type-safe. Update model services to
construct via RouteContext, and add tests enforcing minimal dataclass fields.
2026-08-02 00:25:45 +02:00
Dariusz L c247c4a7a4 refactor: split model_service into focused service classes
Break down the monolithic model_service into smaller, single-responsibility
services: CivitAISearchService, CustomUrlService, and ModelDetailsService.
Introduce ModelServiceDependencies base class to centralize RouteContext
dependency injection. Update model_service to act as a thin facade that
delegates to the specialized services. Add unit tests validating the new
service boundaries and basic request validation behavior.
2026-08-02 00:17:45 +02:00
Dariusz L 5fd9bc5802 refactor: extract model route handlers into ModelService 2026-08-02 00:10:25 +02:00
Dariusz L be0794e36d refactor: extract workflow route handlers into WorkflowService 2026-08-01 23:56:17 +02:00
Dariusz L 91fa8f391d refactor(search): extract search orchestration into SearchService 2026-08-01 23:50:56 +02:00