Commit Graph

3508 Commits

Author SHA1 Message Date
706b6d8317 [refactor] Remove legacy thread management for TaskQueue
- Add proper async worker management to TaskQueue class
- Remove redundant task_worker_thread and task_worker_lock global variables
- Replace manual threading with async task management
- Update is_processing() logic to use TaskQueue state instead of thread status
- Implement automatic worker cleanup when queue processing completes
- Simplify queue start endpoint to use TaskQueue.start_worker()
2025-06-13 19:40:27 -07:00
a59e6e176e [refactor] Remove redundant ExecutionStatus NamedTuple
- Eliminate TaskQueue.ExecutionStatus NamedTuple in favor of generated TaskExecutionStatus Pydantic model
- Remove manual conversion logic between NamedTuple and Pydantic model
- Use single source of truth for task execution status
- Clean up unused imports (Literal, NamedTuple)
- Maintain consistent data model usage throughout TaskQueue
2025-06-13 19:37:57 -07:00
1d575fb654 [refactor] Replace non-standard OpenAPI validation with Redoc CLI
- Replace deprecated openapi-spec-validator with @redocly/cli
- Remove fragile custom regex-based route alignment script
- Use industry-standard OpenAPI validation tooling
- Switch from Python to Node.js for validation pipeline
- New validation catches 41 errors and 141 warnings that old validator missed
2025-06-13 19:37:57 -07:00
98af8dc849 add claude memory 2025-06-13 19:37:57 -07:00
4d89c69109 add installed packs to openapi 2025-06-13 19:37:57 -07:00
b73dc6121f refresh cache before reporting status 2025-06-13 19:37:57 -07:00
b55e1404b1 return installed pack list on status update 2025-06-13 19:37:57 -07:00
0be0a2e6d7 migrate to data models for all routes 2025-06-13 19:37:57 -07:00
3afafdb884 remove dist dir 2025-06-13 19:37:57 -07:00
884b503728 [feat] Add comprehensive Pydantic validation to all API endpoints
- Updated all POST endpoints to use proper Pydantic model validation:
  - `/v2/manager/queue/task` - validates QueueTaskItem
  - `/v2/manager/queue/install_model` - validates ModelMetadata
  - `/v2/manager/queue/reinstall` - validates InstallPackParams
  - `/v2/customnode/import_fail_info` - validates cnr_id/url fields

- Added proper error handling with ValidationError for detailed error messages
- Updated TaskQueue.put() to handle both dict and Pydantic model inputs
- Added missing imports: InstallPackParams, ModelMetadata, ValidationError

Benefits:
- Early validation catches invalid data at API boundaries
- Better error messages for clients with specific validation failures
- Type safety throughout the request processing pipeline
- Consistent validation behavior across all endpoints

All ruff checks pass and validation is now enabled by default.
2025-06-13 19:37:57 -07:00
7f1ebbe081 [cleanup] Remove completed TODO comments and fix ruff issues
- Removed completed TODO comments about code quality checks and client_id handling
- Updated comments to reflect implemented features
- Fixed ruff linting errors:
  - Removed duplicate constant definitions
  - Added missing locale import
  - Fixed unused imports
  - Moved is_local_mode logic to security_utils module
  - Added model_dir_name_map import to model_utils

All ruff checks now pass successfully.
2025-06-13 19:37:57 -07:00
c8882dcb7c [feat] Implement comprehensive batch tracking and OpenAPI-driven data models
Enhances ComfyUI Manager with robust batch execution tracking and unified data model architecture:

- Implemented automatic batch history serialization with before/after system state snapshots
- Added comprehensive state management capturing installed nodes, models, and ComfyUI version info
- Enhanced task queue with proper client ID handling and WebSocket notifications
- Migrated all data models to OpenAPI-generated Pydantic models for consistency
- Added documentation for new TaskQueue methods (done_count, total_count, finalize)
- Fixed 64 linting errors with proper imports and code cleanup

Technical improvements:
- All models now auto-generated from openapi.yaml ensuring API/implementation consistency
- Batch tracking captures complete system state at operation start and completion
- Enhanced REST endpoints with comprehensive documentation
- Removed manual model files in favor of single source of truth
- Added helper methods for system state capture and batch lifecycle management
2025-06-13 19:36:55 -07:00
601f1bf452 [feat] Add client_id support to task queue system
- Add client_id field to QueueTaskItem and TaskHistoryItem models
- Implement client-specific WebSocket message routing
- Add client filtering to queue status and history endpoints
- Follow ComfyUI patterns for session management
- Create data_models package for better code organization
2025-06-13 19:33:05 -07:00
3870abfd2d Merge branch 'main' into draft-v4 2025-06-09 12:37:10 +09:00
ae9fdd0255 update DB 2025-06-09 07:19:09 +09:00
b3874ee6fd Update custom-node-list.json (#1917) 2025-06-09 06:06:15 +09:00
62af4891f3 Update custom-node-list.json (#1912)
Submitting my new custom nodes at https://github.com/burnsbert/ComfyUI-EBU-Workflow for inclusion, thanks!
2025-06-09 06:02:16 +09:00
2176e0c0ad Add CAS Aspect Ratio Presets Node for ComfyUI to custom-node-list.json (#1910)
Add a custom node to quickly create empty latents in common resolutions and aspect ratios for SD 1.5, SDXL, Flux, Chroma, and HiDream. Choose from curated presets or generate by axis and aspect ratio. Appears in the 'latent' node group.
2025-06-09 06:01:18 +09:00
cac105b0d5 fixed: prevent halting when log flushing fails.
https://github.com/Comfy-Org/ComfyUI-Manager/issues/1794
2025-06-08 06:54:39 +09:00
cd7c42cc23 update DB 2025-06-08 06:39:30 +09:00
a3fb847773 fixed: Don't override preview method if --preview-method is given
https://github.com/Comfy-Org/ComfyUI-Manager/issues/1887
2025-06-08 06:33:42 +09:00
5c2f4f9e4b fixed: Issue where cloning Comfy-Org/ComfyUI-Manager would cause mismatches with ltdrdata/ComfyUI-Manager, resulting in it not being recognized properly.
https://github.com/Comfy-Org/ComfyUI-Manager/issues/1900
2025-06-08 06:24:19 +09:00
0a511d5b87 update DB 2025-06-08 05:00:25 +09:00
efe1aad5db update DB 2025-06-07 16:20:15 +09:00
eed4c53df0 update DB 2025-06-07 12:55:45 +09:00
9c08a6314b update DB 2025-06-07 12:32:42 +09:00
a6b2d2c722 Add ComfyUI-LikeSpiderAI-UI (UI Framework for Node Creators) (#1907)
This PR adds a declarative UI framework for ComfyUI nodes: ComfyUI-LikeSpiderAI-UI.

Highlights:
- Minimalistic base class: LikeSpiderUINode
- Built-in input schema with auto-generated UI
- Example node: AudioExport (supports mp3/wav/flac + bitrate/filename)
- Designed for extensibility and clean UX

Author: Pigidiy
2025-06-07 12:31:47 +09:00
3c6b5300e5 update DB 2025-06-06 14:37:15 +09:00
f084c30b20 Add LoRA-Safe TorchCompile node (#1905)
* Add LoRA-Safe TorchCompile node

* Update custom-node-list.json

---------

Co-authored-by: xmarre <mmquant1@gmail.com>
Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-06 14:17:19 +09:00
206004fc1f update DB 2025-06-06 07:13:30 +09:00
d9641cbff8 update DB 2025-06-06 06:14:09 +09:00
13b272052a update DB 2025-06-06 05:56:26 +09:00
c79e0d26d8 Update custom-node-list.json (#1904)
Added:
https://github.com/MDMAchine/ComfyUI_MD_Nodes
2025-06-06 05:55:26 +09:00
ec4a4c2cfc update DB 2025-06-06 05:53:38 +09:00
9a9491bff9 Add Comfy-Topaz-Photo (#1901)
* Update custom-node-list.json

Add Comfy-Topaz-Photo

* Update custom-node-list.json

* Update custom-node-list.json

* Update custom-node-list.json

Add Comfy-Topaz-Photo

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-06 05:53:13 +09:00
5b5155819f update DB 2025-06-06 05:52:34 +09:00
1b941c6b29 Fix: correct author & ID for ComfyUI-LikeSpiderAI-SaveMP3 (#1899)
* Fix: correct author & ID for ComfyUI-LikeSpiderAI-SaveMP3

This PR corrects the metadata for the ComfyUI-LikeSpiderAI-SaveMP3 node:

Changes author from aimingfail → Pigidiy

Adds missing version field: v1.0.0

Updates id from img2halftone → likeSpiderMP3

The previous metadata was mistakenly duplicated from another node.

Project repo: https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-06 05:51:14 +09:00
9b9665d2e9 Update custom-node-list.json (Add ComfyUI-E-Tier-TextSaver to node list) (#1879)
* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-06 05:49:02 +09:00
4cceb46641 update DB 2025-06-03 18:50:49 +09:00
19cf83cce6 update DB 2025-06-03 18:47:13 +09:00
bb60d399fc update DB 2025-06-03 13:57:28 +09:00
1a9f1dd0ae update DB 2025-06-03 10:47:49 +09:00
586c465aaa Add custom node: Hugging Face LoRA Uploader (#1897) 2025-06-03 10:42:15 +09:00
50ceb974d9 update DB 2025-06-03 10:42:03 +09:00
27cf40d392 Add: ComfyUI-LikeSpiderAI-SaveMP3 (save AUDIO to .mp3) (#1894)
* Add: ComfyUI-LikeSpiderAI-SaveMP3 (save AUDIO to .mp3)

Adds a node that saves AUDIO output to .mp3 format via ffmpeg.
Repo: https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-03 10:39:15 +09:00
bbb6005634 fixed: scanner
update DB
2025-06-03 10:36:48 +09:00
8dbd996558 Add ComfyUI Fix Node Translate custom node (#1892)
* Update custom-node-list.json

* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-03 10:35:41 +09:00
8605345499 update DB 2025-06-01 06:55:16 +09:00
8303e7c043 Merge branch 'main' into draft-v4
# Conflicts:
#	comfyui_manager/common/README.md
#	comfyui_manager/glob/manager_core.py
#	comfyui_manager/js/README.md
#	pyproject.toml
2025-06-01 06:23:11 +09:00
3671ddbd4b update DB 2025-06-01 04:30:56 +09:00