Commit Graph
274 Commits
Author SHA1 Message Date
Dariusz L 91e852dd97 refactor: extract download configuration helpers 2026-08-02 17:24:54 +02:00
Dariusz L e56889d67d refactor: extract download state operations 2026-08-02 17:21:42 +02:00
Dariusz L 979114793f refactor: extract download directory resolution 2026-08-02 17:19:56 +02:00
Dariusz L 881a6730d7 refactor: extract metadata sidecar writer 2026-08-02 17:17:40 +02:00
Dariusz L d8f3da6b86 refactor: extract aria2 URL preflight 2026-08-02 17:15:02 +02:00
Dariusz L 48c094310f refactor: extract background download orchestration 2026-08-02 17:11:56 +02:00
Dariusz L 758a4200b2 refactor: extract model download orchestration 2026-08-02 17:09:01 +02:00
Dariusz L c931f23729 refactor: extract Python download orchestration 2026-08-02 17:05:49 +02:00
Dariusz L b3e713cc3b refactor: extract aria2 download actions 2026-08-02 16:59:21 +02:00
Dariusz L c35f5bb5b2 refactor: extract aria2 transfer backend 2026-08-02 16:55:52 +02:00
Dariusz L 9360783628 refactor: extract Hugging Face Xet backend 2026-08-02 16:51:17 +02:00
Dariusz L 3e36d1ce6a refactor: extract aria2 daemon backend 2026-08-02 16:45:16 +02:00
Dariusz L 6ef551877d refactor: extract downloader backend helpers 2026-08-02 16:40:54 +02:00
Dariusz L 29a051e79a refactor: extract downloader preview handling 2026-08-02 16:37:17 +02:00
Dariusz L 7ba4b6fa8a refactor: extract downloader metadata helpers 2026-08-02 16:31:25 +02:00
Dariusz L 340fbdca59 refactor: extract downloader validation helpers 2026-08-02 16:21:58 +02:00
Dariusz L 1ce9b77de3 refactor: add download implementation package 2026-08-02 16:18:35 +02:00
Dariusz L ccd2585663 Add Comfy Registry fallback and retry logic to version checks
- Retry GitHub pyproject version fetch up to 3 times on failure
- Fall back to Comfy Registry install endpoint when GitHub is unavailable
- Avoid caching failed version checks, so stale unavailable states do not persist
- Add targeted tests for registry fallback and failed-check caching behavior
2026-08-02 13:04:47 +02:00
Dariusz L 57b79ba208 refactor: remove dead compatibility shims 2026-08-02 04:03:09 +02:00
Dariusz L bb0e921511 refactor(routes): remove unused compatibility facades 2026-08-02 03:45:51 +02:00
Dariusz L e09d3c2bf8 refactor(entrypoint): extract node definitions 2026-08-02 03:19:32 +02:00
Dariusz L a6e8fe1c55 refactor(entrypoint): extract extension runtime state 2026-08-02 03:15:43 +02:00
Dariusz L f3a6c9db6f fix(routes): preserve HTTP error statuses 2026-08-02 03:12:21 +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
Dariusz L db7977fb55 refactor(routes): split large route modules into focused submodules
Break monolithic model_info, search, and workflow route files into
smaller modules by responsibility: civitai_search, custom_url,
model_details, search_support, source_search, workflow_analysis,
hashes, and loaded_models. Update registry imports to preserve the
existing route registrations and API surface. Add partition coverage
tests to ensure no route endpoints are dropped or duplicated.
2026-08-01 23:19:56 +02:00
Dariusz L 6ff887f004 refactor: introduce RouteContext for route dependency registration 2026-08-01 23:09:51 +02:00
Dariusz L c7a0f2f78c fix: prefer selected-file hash over inherited workflow or source hash 2026-08-01 22:50:13 +02:00
Dariusz L d906a14804 refactor: split route registry into dedicated route modules 2026-08-01 22:32:20 +02:00
Dariusz L b12cc65a10 refactor: extract API routes into core/routes package
Move the inline route definitions out of __init__.py into a new core/routes
package (registry, base_models, helpers, settings, version). Add the
JobProgressTracker utility in core/progress.py and extract version discovery
logic into core/version.py. Update tests to cover the refactored structure.
2026-08-01 21:57:51 +02:00