model-compose 0.4.29__tar.gz → 0.4.31__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {model_compose-0.4.29 → model_compose-0.4.31}/PKG-INFO +8 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/README.md +5 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/pyproject.toml +4 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/base.py +51 -27
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/runtime/process_manager.py +1 -8
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/runtime/process_worker.py +8 -13
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/__init__.py +1 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/agent.py +22 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/datasets.py +9 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/providers/common.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/providers/huggingface.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/providers/local.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/http_client.py +9 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/http_server.py +7 -4
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/image_processor.py +21 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/mcp_client.py +7 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/mcp_server.py +7 -4
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/base/common.py +6 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/model.py +9 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/chat_completion/huggingface.py +13 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/face_embedding/insightface.py +6 -4
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/flux.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/hunyuan_image.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/sdxl.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_to_text/huggingface.py +13 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/esrgan.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/ldsr.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/real_esrgan.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/swinir.py +12 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_classification/huggingface.py +18 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_embedding/huggingface.py +13 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_generation/huggingface.py +13 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_to_speech/qwen.py +6 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/shell.py +20 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/text_splitter.py +7 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/vector_store.py +9 -2
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/base.py +31 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/drivers/__init__.py +3 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/drivers/ffmpeg.py +147 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/drivers/pyscenedetect.py +97 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/drivers/transnetv2.py +103 -0
- model_compose-0.4.31/src/mindor/core/component/services/video_scene_detector/video_scene_detector.py +47 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/web_browser.py +7 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/web_scraper.py +14 -2
- model_compose-0.4.31/src/mindor/core/component/services/workflow.py +30 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/compose/manager.py +8 -2
- model_compose-0.4.31/src/mindor/core/controller/adapters/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/adapter.py +16 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/base.py +23 -0
- {model_compose-0.4.29/src/mindor/core/controller → model_compose-0.4.31/src/mindor/core/controller/adapters}/services/__init__.py +1 -0
- {model_compose-0.4.29/src/mindor/core/controller → model_compose-0.4.31/src/mindor/core/controller/adapters}/services/http_server.py +39 -42
- {model_compose-0.4.29/src/mindor/core/controller → model_compose-0.4.31/src/mindor/core/controller/adapters}/services/mcp_server.py +28 -25
- model_compose-0.4.31/src/mindor/core/controller/adapters/services/queue_subscriber/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/services/queue_subscriber/base.py +29 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/redis.py +192 -0
- model_compose-0.4.31/src/mindor/core/controller/adapters/services/queue_subscriber/queue_subscriber.py +35 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/base.py +104 -38
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/controller.py +3 -8
- model_compose-0.4.31/src/mindor/core/controller/queue/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/controller/queue/base.py +56 -0
- model_compose-0.4.31/src/mindor/core/controller/queue/drivers/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/core/controller/queue/drivers/redis.py +159 -0
- model_compose-0.4.31/src/mindor/core/controller/queue/queue.py +35 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runner/client.py +3 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runner/http_client.py +6 -6
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runner/mcp_client.py +10 -4
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runner/runner.py +10 -9
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/docker/docker.py +11 -7
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/webui/gradio.py +31 -5
- model_compose-0.4.31/src/mindor/core/errors.py +3 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/foundation/async_service.py +2 -4
- model_compose-0.4.31/src/mindor/core/foundation/compat/asyncio.py +8 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/foundation/ipc_messages.py +1 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/foundation/process_manager.py +4 -9
- model_compose-0.4.31/src/mindor/core/foundation/process_worker.py +102 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/drivers/cloudflare.py +4 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/ssh_tunnel.py +0 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/services/http_callback.py +9 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/services/http_trigger.py +10 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/runtime/docker/docker.py +19 -17
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/http_client.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/http_response.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/image.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/mcp_client.py +8 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/renderers.py +5 -4
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/streaming.py +8 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/work_queue.py +4 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/context.py +12 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/schema.py +46 -9
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/tool.py +14 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/workflow.py +18 -6
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/loader.py +6 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/action.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/dsl/schema/action/impl/video_scene_detector.py +18 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/component.py +2 -1
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/__init__.py +1 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/types.py +1 -0
- model_compose-0.4.31/src/mindor/dsl/schema/component/impl/video_scene_detector.py +15 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/__init__.py +3 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/__init__.py +3 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/adapter.py +12 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/common.py +9 -0
- {model_compose-0.4.29/src/mindor/dsl/schema/controller → model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter}/impl/__init__.py +2 -1
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/http_server.py +8 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/mcp_server.py +7 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/__init__.py +2 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/common.py +24 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/redis.py +19 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/queue_subscriber.py +10 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/adapter/impl/types.py +6 -0
- model_compose-0.4.29/src/mindor/dsl/schema/controller/impl/common.py → model_compose-0.4.31/src/mindor/dsl/schema/controller/controller.py +14 -4
- model_compose-0.4.31/src/mindor/dsl/schema/controller/queue/__init__.py +1 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/queue/impl/__init__.py +2 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/queue/impl/common.py +11 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/queue/impl/redis.py +18 -0
- model_compose-0.4.31/src/mindor/dsl/schema/controller/queue/queue.py +10 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/ssh_tunnel.py +2 -2
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/docker.py +10 -2
- model_compose-0.4.31/src/mindor/dsl/schema/transport/__init__.py +0 -0
- model_compose-0.4.31/src/mindor/dsl/utils/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/PKG-INFO +8 -3
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/SOURCES.txt +46 -8
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/requires.txt +3 -0
- model_compose-0.4.29/src/mindor/core/component/services/workflow.py +0 -33
- model_compose-0.4.29/src/mindor/core/foundation/process_worker.py +0 -143
- model_compose-0.4.29/src/mindor/dsl/schema/controller/__init__.py +0 -1
- model_compose-0.4.29/src/mindor/dsl/schema/controller/controller.py +0 -11
- model_compose-0.4.29/src/mindor/dsl/schema/controller/impl/http_server.py +0 -11
- model_compose-0.4.29/src/mindor/dsl/schema/controller/impl/mcp_server.py +0 -10
- model_compose-0.4.29/src/mindor/dsl/schema/controller/impl/types.py +0 -5
- {model_compose-0.4.29 → model_compose-0.4.31}/LICENSE +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/setup.cfg +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/cli/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/cli/compose.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/cli/interrupt.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/component.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/context.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/runtime/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/providers/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/datasets/utils.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/base/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/base/huggingface.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/base/huggingface_hub.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/base/unsloth.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/chat_completion/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/face_embedding/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/face_embedding/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/face_embedding/custom.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_generation/custom.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_to_text/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/image_upscale/custom.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_classification/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_embedding/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_generation/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_to_speech/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/tasks/text_to_speech/custom.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/drivers/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/drivers/chroma.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/vector_store/drivers/milvus.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/compose/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/compose/compose.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/compose/validator.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runner/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/docker/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/docker/context/Dockerfile +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/native/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/native/native.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/runtime/specs.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/webui/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/controller/webui/webui.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/evaluator/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/evaluator/condition.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/foundation/__init__.py +0 -0
- {model_compose-0.4.29/src/mindor/core/runtime → model_compose-0.4.31/src/mindor/core/foundation/compat}/__init__.py +0 -0
- {model_compose-0.4.29/src/mindor/core/utils → model_compose-0.4.31/src/mindor/core/foundation}/package.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/gateway.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/drivers/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/drivers/ngrok.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/gateway/services/http_tunnel/http_tunnel.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/listener.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/listener/services/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/logger.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/logging.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/services/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/services/console.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/logger/services/file.py +0 -0
- {model_compose-0.4.29/src/mindor/core/utils → model_compose-0.4.31/src/mindor/core/runtime}/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/runtime/docker/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/runtime/env.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/system/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/system/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/system/services/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/system/services/docker_compose.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/system/system.py +0 -0
- {model_compose-0.4.29/src/mindor/dsl → model_compose-0.4.31/src/mindor/core/utils}/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/active_counter.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/caching.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/cdp_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/http_request.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/http_status.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/resolvers.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/shell.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/ssh_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/streamer.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/time.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/url.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/utils/websocket_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/interrupt.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/base.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/component.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/delay.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/filter.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/if_.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/random_router.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/impl/switch.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/workflow/job/job.py +0 -0
- {model_compose-0.4.29/src/mindor/dsl/schema → model_compose-0.4.31/src/mindor/dsl}/__init__.py +0 -0
- {model_compose-0.4.29/src/mindor/dsl/schema/transport → model_compose-0.4.31/src/mindor/dsl/schema}/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/agent.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/datasets.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/providers/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/providers/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/providers/huggingface.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/datasets/providers/local.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/http_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/http_server.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/image_processor.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/mcp_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/mcp_server.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/chat_completion.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/face_embedding.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/dlib.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/facenet.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/insightface.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/image_generation.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/flux.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/sdxl.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_to_text.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/image_upscale.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/swinir.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_classification.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_embedding.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_generation.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model/model.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/impl/classification.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/impl/sft.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/model_trainer/model_trainer.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/shell.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/text_splitter.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/chroma.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/faiss.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/milvus.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/impl/qdrant.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/vector_store/vector_store.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/web_browser.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/web_scraper.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/action/impl/workflow.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/agent.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/datasets/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/datasets/datasets.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/http_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/http_server.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/image_processor.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/mcp_client.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/mcp_server.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/chat_completion.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/face_embedding.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/dlib.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/facenet.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/insightface.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/image_generation.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/flux.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/sdxl.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_to_text.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/image_upscale.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/swinir.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_classification.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_embedding.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_generation.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model/model.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/impl/classification.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/impl/sft.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/model_trainer/model_trainer.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/shell.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/text_splitter.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/chroma.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/faiss.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/milvus.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/impl/qdrant.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/vector_store/vector_store.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/web_browser.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/web_scraper.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/component/impl/workflow.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/compose.py +0 -0
- {model_compose-0.4.29/src/mindor/dsl/utils → model_compose-0.4.31/src/mindor/dsl/schema/controller/impl}/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/impl/dynamic.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/impl/gradio.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/impl/static.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/controller/webui/webui.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/gateway.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/http_tunnel.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/cloudflare.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/ngrok.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/gateway/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/component.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/delay.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/filter.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/if_.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/random_router.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/switch.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/job/job.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/impl/http_callback.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/impl/http_trigger.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/listener/listener.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/impl/console.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/impl/file.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/logger/logger.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/operator/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/operator/condition.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/embedded.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/native.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/process.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/runtime/runtime.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/impl/__init__.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/impl/common.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/impl/docker_compose.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/impl/types.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/system/system.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/transport/http.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/transport/ssh.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/schema/workflow.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/utils/enum.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/dsl/utils/path.py +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/dependency_links.txt +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/entry_points.txt +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/src/model_compose.egg-info/top_level.txt +0 -0
- {model_compose-0.4.29 → model_compose-0.4.31}/tests/test_cli.py +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: model-compose
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.31
|
|
4
4
|
Summary: model-compose: Declarative AI Workflow Orchestrator
|
|
5
5
|
Author-email: Hanyeol Cho <hanyeol.cho@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/hanyeol/model-compose
|
|
8
|
+
Requires-Python: >=3.10
|
|
8
9
|
Description-Content-Type: text/markdown
|
|
9
10
|
License-File: LICENSE
|
|
10
11
|
Requires-Dist: click
|
|
@@ -23,13 +24,14 @@ Requires-Dist: gradio>=6.0.0
|
|
|
23
24
|
Requires-Dist: Pillow
|
|
24
25
|
Requires-Dist: beautifulsoup4
|
|
25
26
|
Requires-Dist: lxml
|
|
27
|
+
Requires-Dist: async_timeout>=4.0; python_version < "3.11"
|
|
26
28
|
Dynamic: license-file
|
|
27
29
|
|
|
28
30
|
<div align="center">
|
|
29
31
|
|
|
30
32
|

|
|
31
33
|
|
|
32
|
-
[](https://python.org)
|
|
33
35
|
[](https://pypi.org/project/model-compose/)
|
|
34
36
|
[](https://opensource.org/licenses/MIT)
|
|
35
37
|
[](https://pepy.tech/project/model-compose)
|
|
@@ -81,6 +83,9 @@ Build multi-step pipelines with conditional logic, data transformation, and para
|
|
|
81
83
|
### 🚀 **Production-Ready Deployment**
|
|
82
84
|
Deploy as HTTP REST API or MCP (Model Context Protocol) server by changing one line. Includes concurrency control, health checks, and automatic API documentation.
|
|
83
85
|
|
|
86
|
+
### 📡 **Distributed Workflow Execution**
|
|
87
|
+
Scale AI workloads across multiple machines using Redis-backed queue dispatch. Dispatcher instances route workflow requests to remote subscribers—no shared filesystem or code changes needed. Add workers to scale horizontally.
|
|
88
|
+
|
|
84
89
|
### 🎯 **Event-Driven Architecture**
|
|
85
90
|
HTTP Callback listeners for async workflows (image generation, video processing). HTTP Trigger listeners for webhooks and external events. Build reactive AI systems that respond to real-world events.
|
|
86
91
|
|
|
@@ -116,7 +121,7 @@ cd model-compose
|
|
|
116
121
|
pip install -e .
|
|
117
122
|
```
|
|
118
123
|
|
|
119
|
-
> Requires: Python 3.
|
|
124
|
+
> Requires: Python 3.10 or higher
|
|
120
125
|
|
|
121
126
|
---
|
|
122
127
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
[](https://python.org)
|
|
6
6
|
[](https://pypi.org/project/model-compose/)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|
[](https://pepy.tech/project/model-compose)
|
|
@@ -54,6 +54,9 @@ Build multi-step pipelines with conditional logic, data transformation, and para
|
|
|
54
54
|
### 🚀 **Production-Ready Deployment**
|
|
55
55
|
Deploy as HTTP REST API or MCP (Model Context Protocol) server by changing one line. Includes concurrency control, health checks, and automatic API documentation.
|
|
56
56
|
|
|
57
|
+
### 📡 **Distributed Workflow Execution**
|
|
58
|
+
Scale AI workloads across multiple machines using Redis-backed queue dispatch. Dispatcher instances route workflow requests to remote subscribers—no shared filesystem or code changes needed. Add workers to scale horizontally.
|
|
59
|
+
|
|
57
60
|
### 🎯 **Event-Driven Architecture**
|
|
58
61
|
HTTP Callback listeners for async workflows (image generation, video processing). HTTP Trigger listeners for webhooks and external events. Build reactive AI systems that respond to real-world events.
|
|
59
62
|
|
|
@@ -89,7 +92,7 @@ cd model-compose
|
|
|
89
92
|
pip install -e .
|
|
90
93
|
```
|
|
91
94
|
|
|
92
|
-
> Requires: Python 3.
|
|
95
|
+
> Requires: Python 3.10 or higher
|
|
93
96
|
|
|
94
97
|
---
|
|
95
98
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "model-compose"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.31"
|
|
4
4
|
description = "model-compose: Declarative AI Workflow Orchestrator"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Hanyeol Cho", email = "hanyeol.cho@gmail.com" }
|
|
7
7
|
]
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
license = "MIT"
|
|
10
|
+
requires-python = ">=3.10"
|
|
10
11
|
dependencies = [
|
|
11
12
|
"click",
|
|
12
13
|
"pyyaml",
|
|
@@ -23,7 +24,8 @@ dependencies = [
|
|
|
23
24
|
"gradio>=6.0.0",
|
|
24
25
|
"Pillow",
|
|
25
26
|
"beautifulsoup4",
|
|
26
|
-
"lxml"
|
|
27
|
+
"lxml",
|
|
28
|
+
"async_timeout>=4.0; python_version < '3.11'"
|
|
27
29
|
]
|
|
28
30
|
|
|
29
31
|
[project.scripts]
|
|
@@ -5,7 +5,7 @@ from mindor.dsl.schema.action import ActionConfig
|
|
|
5
5
|
from mindor.dsl.schema.listener import ListenerConfig
|
|
6
6
|
from mindor.dsl.schema.gateway import GatewayConfig
|
|
7
7
|
from mindor.dsl.schema.workflow import WorkflowConfig
|
|
8
|
-
from mindor.dsl.schema.runtime import
|
|
8
|
+
from mindor.dsl.schema.runtime import RuntimeType
|
|
9
9
|
from mindor.core.foundation import AsyncService
|
|
10
10
|
from mindor.core.utils.work_queue import WorkQueue
|
|
11
11
|
from mindor.core.utils.active_counter import ActiveCounter
|
|
@@ -45,7 +45,13 @@ class ComponentGlobalConfigs:
|
|
|
45
45
|
self.workflows: List[WorkflowConfig] = workflows
|
|
46
46
|
|
|
47
47
|
class ComponentService(AsyncService):
|
|
48
|
-
def __init__(
|
|
48
|
+
def __init__(
|
|
49
|
+
self,
|
|
50
|
+
id: str,
|
|
51
|
+
config: ComponentConfig,
|
|
52
|
+
global_configs: ComponentGlobalConfigs,
|
|
53
|
+
daemon: bool
|
|
54
|
+
):
|
|
49
55
|
super().__init__(daemon)
|
|
50
56
|
|
|
51
57
|
self.id: str = id
|
|
@@ -53,27 +59,33 @@ class ComponentService(AsyncService):
|
|
|
53
59
|
self.global_configs: ComponentGlobalConfigs = global_configs
|
|
54
60
|
self.work_queue: Optional[WorkQueue] = None
|
|
55
61
|
self._process_manager = None
|
|
62
|
+
self._docker_manager = None
|
|
56
63
|
self._active_counter: ActiveCounter = ActiveCounter()
|
|
57
64
|
|
|
58
65
|
if self.config.max_concurrent_count > 0:
|
|
59
66
|
self.work_queue = WorkQueue(self.config.max_concurrent_count, self._run)
|
|
60
67
|
|
|
61
68
|
async def start(self, background: bool = False) -> None:
|
|
62
|
-
if
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
self._process_manager = ComponentProcessRuntimeManager(
|
|
66
|
-
self.id,
|
|
67
|
-
self.config,
|
|
68
|
-
self.global_configs
|
|
69
|
-
)
|
|
70
|
-
await self._process_manager.start()
|
|
71
|
-
logging.info(f"Component {self.id} started in separate process")
|
|
69
|
+
if self.config.runtime.type == RuntimeType.PROCESS:
|
|
70
|
+
await self._start_process_runtime()
|
|
72
71
|
return
|
|
73
|
-
|
|
72
|
+
|
|
73
|
+
if self.config.runtime.type == RuntimeType.DOCKER:
|
|
74
|
+
await self._start_docker_runtime()
|
|
75
|
+
|
|
74
76
|
await super().start(background)
|
|
75
77
|
await self.wait_until_ready()
|
|
76
78
|
|
|
79
|
+
async def stop(self) -> None:
|
|
80
|
+
if self._process_manager:
|
|
81
|
+
await self._stop_process_runtime()
|
|
82
|
+
return
|
|
83
|
+
|
|
84
|
+
await super().stop()
|
|
85
|
+
|
|
86
|
+
if self._docker_manager:
|
|
87
|
+
await self._stop_docker_runtime()
|
|
88
|
+
|
|
77
89
|
async def run(self, action_id: str, run_id: str, input: Dict[str, Any], workflow=None) -> Dict[str, Any]:
|
|
78
90
|
if self._process_manager:
|
|
79
91
|
return await self._process_manager.run(action_id, run_id, input)
|
|
@@ -90,13 +102,6 @@ class ComponentService(AsyncService):
|
|
|
90
102
|
finally:
|
|
91
103
|
self._active_counter.release()
|
|
92
104
|
|
|
93
|
-
async def stop(self) -> None:
|
|
94
|
-
if self._process_manager:
|
|
95
|
-
await self._process_manager.stop()
|
|
96
|
-
return
|
|
97
|
-
|
|
98
|
-
await super().stop()
|
|
99
|
-
|
|
100
105
|
async def _start(self) -> None:
|
|
101
106
|
if self.work_queue:
|
|
102
107
|
await self.work_queue.start()
|
|
@@ -110,23 +115,42 @@ class ComponentService(AsyncService):
|
|
|
110
115
|
await self._active_counter.wait_for_zero()
|
|
111
116
|
await super()._stop()
|
|
112
117
|
|
|
113
|
-
async def _serve(self) -> None:
|
|
114
|
-
pass
|
|
115
|
-
|
|
116
|
-
async def _shutdown(self) -> None:
|
|
117
|
-
pass
|
|
118
|
-
|
|
119
118
|
async def _is_ready(self) -> bool:
|
|
120
119
|
return True
|
|
121
120
|
|
|
122
121
|
@abstractmethod
|
|
123
122
|
async def _run(self, action: ActionConfig, context: ComponentActionContext) -> Any:
|
|
124
123
|
pass
|
|
125
|
-
|
|
124
|
+
|
|
126
125
|
async def _install_package(self, package_spec: str, repository: Optional[str]) -> None:
|
|
127
126
|
logging.info(f"Installing required module: {package_spec}")
|
|
128
127
|
await super()._install_package(package_spec, repository)
|
|
129
128
|
|
|
129
|
+
async def _start_process_runtime(self) -> None:
|
|
130
|
+
from mindor.core.component.runtime import ComponentProcessRuntimeManager
|
|
131
|
+
self._process_manager = ComponentProcessRuntimeManager(self.id, self.config, self.global_configs)
|
|
132
|
+
await self._process_manager.start()
|
|
133
|
+
logging.info(f"Component '{self.id}' started with process runtime")
|
|
134
|
+
|
|
135
|
+
async def _stop_process_runtime(self) -> None:
|
|
136
|
+
await self._process_manager.stop()
|
|
137
|
+
logging.info(f"Component '{self.id}' process runtime stopped")
|
|
138
|
+
|
|
139
|
+
async def _start_docker_runtime(self) -> None:
|
|
140
|
+
from mindor.core.runtime.docker import DockerRuntimeManager
|
|
141
|
+
self._docker_manager = DockerRuntimeManager(self.config.runtime, verbose=False)
|
|
142
|
+
if not await self._docker_manager.exists_image():
|
|
143
|
+
await self._docker_manager.pull_image()
|
|
144
|
+
if await self._docker_manager.exists_container():
|
|
145
|
+
await self._docker_manager.remove_container(force=True)
|
|
146
|
+
await self._docker_manager.start_container(detach=True)
|
|
147
|
+
logging.info(f"Component '{self.id}' started with Docker runtime")
|
|
148
|
+
|
|
149
|
+
async def _stop_docker_runtime(self) -> None:
|
|
150
|
+
await self._docker_manager.stop_container()
|
|
151
|
+
await self._docker_manager.remove_container(force=True)
|
|
152
|
+
logging.info(f"Component '{self.id}' Docker container stopped")
|
|
153
|
+
|
|
130
154
|
def register_component(type: ComponentType):
|
|
131
155
|
def decorator(cls: Type[ComponentService]) -> Type[ComponentService]:
|
|
132
156
|
ComponentRegistry[type] = cls
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/runtime/process_manager.py
RENAMED
|
@@ -18,9 +18,6 @@ class ComponentProcessRuntimeManager(ProcessRuntimeManager):
|
|
|
18
18
|
config: ComponentConfig,
|
|
19
19
|
global_configs: ComponentGlobalConfigs
|
|
20
20
|
):
|
|
21
|
-
if not isinstance(config.runtime, ProcessRuntimeConfig):
|
|
22
|
-
raise ValueError("ComponentProcessRuntimeManager requires ProcessRuntimeConfig")
|
|
23
|
-
|
|
24
21
|
self.config = config
|
|
25
22
|
self.global_configs = global_configs
|
|
26
23
|
|
|
@@ -35,11 +32,7 @@ class ComponentProcessRuntimeManager(ProcessRuntimeManager):
|
|
|
35
32
|
# Convert ProcessRuntimeConfig to ProcessWorkerParams
|
|
36
33
|
worker_params = self._convert_runtime_config(config.runtime)
|
|
37
34
|
|
|
38
|
-
super().__init__(
|
|
39
|
-
worker_id=component_id,
|
|
40
|
-
worker_factory=worker_factory,
|
|
41
|
-
worker_params=worker_params
|
|
42
|
-
)
|
|
35
|
+
super().__init__(component_id, worker_factory, worker_params)
|
|
43
36
|
|
|
44
37
|
@staticmethod
|
|
45
38
|
def _convert_runtime_config(config: ProcessRuntimeConfig) -> ProcessWorkerParams:
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/runtime/process_worker.py
RENAMED
|
@@ -8,8 +8,6 @@ from mindor.core.logger import logging
|
|
|
8
8
|
from multiprocessing import Queue
|
|
9
9
|
|
|
10
10
|
class ComponentProcessWorker(ProcessWorker):
|
|
11
|
-
"""Worker for running components in separate processes"""
|
|
12
|
-
|
|
13
11
|
def __init__(
|
|
14
12
|
self,
|
|
15
13
|
component_id: str,
|
|
@@ -23,8 +21,7 @@ class ComponentProcessWorker(ProcessWorker):
|
|
|
23
21
|
self.global_configs = global_configs
|
|
24
22
|
self.component = None
|
|
25
23
|
|
|
26
|
-
async def
|
|
27
|
-
"""Initialize and start the component"""
|
|
24
|
+
async def _start(self) -> None:
|
|
28
25
|
embedded_config = self.config.model_copy(deep=True)
|
|
29
26
|
embedded_config.runtime = EmbeddedRuntimeConfig(type="embedded")
|
|
30
27
|
|
|
@@ -40,16 +37,14 @@ class ComponentProcessWorker(ProcessWorker):
|
|
|
40
37
|
|
|
41
38
|
logging.info(f"Component {self.worker_id} started in subprocess")
|
|
42
39
|
|
|
40
|
+
async def _stop(self) -> None:
|
|
41
|
+
if self.component:
|
|
42
|
+
await self.component.stop()
|
|
43
|
+
await self.component.teardown()
|
|
44
|
+
|
|
43
45
|
async def _execute_task(self, payload: Dict[str, Any]) -> Any:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
run_id = payload["run_id"]
|
|
46
|
+
action_id = payload["action_id"]
|
|
47
|
+
run_id = payload["run_id"]
|
|
47
48
|
input_data = payload["input"]
|
|
48
49
|
|
|
49
50
|
return await self.component.run(action_id, run_id, input_data)
|
|
50
|
-
|
|
51
|
-
async def _cleanup(self) -> None:
|
|
52
|
-
"""Clean up the component"""
|
|
53
|
-
if self.component:
|
|
54
|
-
await self.component.stop()
|
|
55
|
-
await self.component.teardown()
|
|
@@ -12,7 +12,14 @@ import asyncio, ulid, json
|
|
|
12
12
|
_JSON_SCHEMA_TYPE_MAP = { "int": "integer", "float": "number", "bool": "boolean", "list[dict]": "array" }
|
|
13
13
|
|
|
14
14
|
class AgentAction:
|
|
15
|
-
def __init__(
|
|
15
|
+
def __init__(
|
|
16
|
+
self,
|
|
17
|
+
action: AgentActionConfig,
|
|
18
|
+
config: AgentComponentConfig,
|
|
19
|
+
global_configs: ComponentGlobalConfigs,
|
|
20
|
+
tools: Dict[str, WorkflowTool],
|
|
21
|
+
function_schemas: List[Dict[str, Any]]
|
|
22
|
+
):
|
|
16
23
|
self.action: AgentActionConfig = action
|
|
17
24
|
self.config: AgentComponentConfig = config
|
|
18
25
|
self.global_configs: ComponentGlobalConfigs = global_configs
|
|
@@ -90,7 +97,13 @@ class AgentAction:
|
|
|
90
97
|
_, config = ComponentResolver(self.global_configs.components).resolve(component_id)
|
|
91
98
|
return create_component(component_id, config, self.global_configs, daemon=False)
|
|
92
99
|
|
|
93
|
-
async def _render_model_input(
|
|
100
|
+
async def _render_model_input(
|
|
101
|
+
self,
|
|
102
|
+
context: ComponentActionContext,
|
|
103
|
+
input_mapping: Dict[str, Any],
|
|
104
|
+
messages: List[Dict[str, Any]],
|
|
105
|
+
tools: Optional[List[Dict[str, Any]]]
|
|
106
|
+
) -> Dict[str, Any]:
|
|
94
107
|
context.register_source("messages", messages)
|
|
95
108
|
if tools:
|
|
96
109
|
context.register_source("tools", tools)
|
|
@@ -161,7 +174,13 @@ async def _build_function_schema(name: str, tool: WorkflowTool) -> Dict[str, Any
|
|
|
161
174
|
|
|
162
175
|
@register_component(ComponentType.AGENT)
|
|
163
176
|
class AgentComponent(ComponentService):
|
|
164
|
-
def __init__(
|
|
177
|
+
def __init__(
|
|
178
|
+
self,
|
|
179
|
+
id: str,
|
|
180
|
+
config: AgentComponentConfig,
|
|
181
|
+
global_configs: ComponentGlobalConfigs,
|
|
182
|
+
daemon: bool
|
|
183
|
+
):
|
|
165
184
|
super().__init__(id, config, global_configs, daemon)
|
|
166
185
|
|
|
167
186
|
self.tools: Optional[Dict[str, WorkflowTool]] = None
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
4
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
5
|
+
from collections.abc import AsyncIterator
|
|
5
6
|
from mindor.dsl.schema.action import DatasetsActionConfig, DatasetsActionMethod, DatasetsProvider
|
|
6
7
|
from ...base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
7
8
|
from ...context import ComponentActionContext
|
|
@@ -116,7 +117,13 @@ class DatasetsAction:
|
|
|
116
117
|
|
|
117
118
|
@register_component(ComponentType.DATASETS)
|
|
118
119
|
class DatasetsComponent(ComponentService):
|
|
119
|
-
def __init__(
|
|
120
|
+
def __init__(
|
|
121
|
+
self,
|
|
122
|
+
id: str,
|
|
123
|
+
config: DatasetsActionConfig,
|
|
124
|
+
global_configs: ComponentGlobalConfigs,
|
|
125
|
+
daemon: bool
|
|
126
|
+
):
|
|
120
127
|
super().__init__(id, config, global_configs, daemon)
|
|
121
128
|
|
|
122
129
|
def _get_setup_requirements(self) -> Optional[List[str]]:
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
4
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
5
|
+
from collections.abc import AsyncIterator
|
|
5
6
|
from abc import ABC, abstractmethod
|
|
6
7
|
from mindor.dsl.schema.action import DatasetsLoadActionConfig
|
|
7
8
|
from ....context import ComponentActionContext
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
4
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
5
|
+
from collections.abc import AsyncIterator
|
|
5
6
|
from .common import CommonDatasetsProvider, ComponentActionContext
|
|
6
7
|
|
|
7
8
|
if TYPE_CHECKING:
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
4
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
5
|
+
from collections.abc import AsyncIterator
|
|
5
6
|
from .common import CommonDatasetsProvider, ComponentActionContext
|
|
6
7
|
|
|
7
8
|
if TYPE_CHECKING:
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/http_client.py
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
1
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
2
|
+
from collections.abc import AsyncIterator
|
|
2
3
|
from abc import ABC, abstractmethod
|
|
3
4
|
from mindor.dsl.schema.component import HttpClientComponentConfig
|
|
4
5
|
from mindor.dsl.schema.action import ActionConfig, HttpClientActionConfig, HttpClientCompletionType, HttpClientCompletionConfig
|
|
@@ -141,7 +142,13 @@ class HttpClientAction:
|
|
|
141
142
|
|
|
142
143
|
@register_component(ComponentType.HTTP_CLIENT)
|
|
143
144
|
class HttpClientComponent(ComponentService):
|
|
144
|
-
def __init__(
|
|
145
|
+
def __init__(
|
|
146
|
+
self,
|
|
147
|
+
id: str,
|
|
148
|
+
config: HttpClientComponentConfig,
|
|
149
|
+
global_configs: ComponentGlobalConfigs,
|
|
150
|
+
daemon: bool
|
|
151
|
+
):
|
|
145
152
|
super().__init__(id, config, global_configs, daemon)
|
|
146
153
|
|
|
147
154
|
self.client: Optional[HttpClient] = None
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/http_server.py
RENAMED
|
@@ -130,7 +130,13 @@ class HttpServerAction:
|
|
|
130
130
|
|
|
131
131
|
@register_component(ComponentType.HTTP_SERVER)
|
|
132
132
|
class HttpServerComponent(ComponentService):
|
|
133
|
-
def __init__(
|
|
133
|
+
def __init__(
|
|
134
|
+
self,
|
|
135
|
+
id: str,
|
|
136
|
+
config: HttpServerComponentConfig,
|
|
137
|
+
global_configs: ComponentGlobalConfigs,
|
|
138
|
+
daemon: bool
|
|
139
|
+
):
|
|
134
140
|
super().__init__(id, config, global_configs, daemon)
|
|
135
141
|
|
|
136
142
|
self.client: Optional[HttpClient] = None
|
|
@@ -163,9 +169,6 @@ class HttpServerComponent(ComponentService):
|
|
|
163
169
|
if self.config.manage.scripts.start:
|
|
164
170
|
await run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
|
|
165
171
|
|
|
166
|
-
async def _shutdown(self) -> None:
|
|
167
|
-
pass
|
|
168
|
-
|
|
169
172
|
async def _is_ready(self) -> bool:
|
|
170
173
|
try:
|
|
171
174
|
_, writer = await asyncio.open_connection("localhost", self.config.port)
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/image_processor.py
RENAMED
|
@@ -169,7 +169,13 @@ class ImageProcessorAction:
|
|
|
169
169
|
|
|
170
170
|
raise ValueError(f"Invalid scale_mode: {scale_mode}")
|
|
171
171
|
|
|
172
|
-
def _get_size_aspect_fit(
|
|
172
|
+
def _get_size_aspect_fit(
|
|
173
|
+
self,
|
|
174
|
+
target_width: int,
|
|
175
|
+
target_height: int,
|
|
176
|
+
original_width: int,
|
|
177
|
+
original_height: int
|
|
178
|
+
) -> Tuple[int, int]:
|
|
173
179
|
aspect_ratio = original_width / original_height
|
|
174
180
|
|
|
175
181
|
height = target_height
|
|
@@ -181,7 +187,13 @@ class ImageProcessorAction:
|
|
|
181
187
|
|
|
182
188
|
return (int(width), int(height))
|
|
183
189
|
|
|
184
|
-
def _get_size_aspect_fill(
|
|
190
|
+
def _get_size_aspect_fill(
|
|
191
|
+
self,
|
|
192
|
+
target_width: int,
|
|
193
|
+
target_height: int,
|
|
194
|
+
original_width: int,
|
|
195
|
+
original_height: int
|
|
196
|
+
) -> Tuple[int, int]:
|
|
185
197
|
aspect_ratio = original_width / original_height
|
|
186
198
|
|
|
187
199
|
height = target_height
|
|
@@ -203,7 +215,13 @@ class ImageProcessorAction:
|
|
|
203
215
|
|
|
204
216
|
@register_component(ComponentType.IMAGE_PROCESSOR)
|
|
205
217
|
class ImageProcessorComponent(ComponentService):
|
|
206
|
-
def __init__(
|
|
218
|
+
def __init__(
|
|
219
|
+
self,
|
|
220
|
+
id: str,
|
|
221
|
+
config: ImageProcessorComponentConfig,
|
|
222
|
+
global_configs: ComponentGlobalConfigs,
|
|
223
|
+
daemon: bool
|
|
224
|
+
):
|
|
207
225
|
super().__init__(id, config, global_configs, daemon)
|
|
208
226
|
|
|
209
227
|
async def _run(self, action: ActionConfig, context: ComponentActionContext) -> Any:
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/mcp_client.py
RENAMED
|
@@ -29,7 +29,13 @@ class McpClientAction:
|
|
|
29
29
|
|
|
30
30
|
@register_component(ComponentType.MCP_CLIENT)
|
|
31
31
|
class McpClientComponent(ComponentService):
|
|
32
|
-
def __init__(
|
|
32
|
+
def __init__(
|
|
33
|
+
self,
|
|
34
|
+
id: str,
|
|
35
|
+
config: McpClientComponentConfig,
|
|
36
|
+
global_configs: ComponentGlobalConfigs,
|
|
37
|
+
daemon: bool
|
|
38
|
+
):
|
|
33
39
|
super().__init__(id, config, global_configs, daemon)
|
|
34
40
|
|
|
35
41
|
self.client: Optional[McpClient] = None
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/mcp_server.py
RENAMED
|
@@ -31,7 +31,13 @@ class McpServerAction:
|
|
|
31
31
|
|
|
32
32
|
@register_component(ComponentType.MCP_SERVER)
|
|
33
33
|
class McpServerComponent(ComponentService):
|
|
34
|
-
def __init__(
|
|
34
|
+
def __init__(
|
|
35
|
+
self,
|
|
36
|
+
id: str,
|
|
37
|
+
config: McpServerComponentConfig,
|
|
38
|
+
global_configs: ComponentGlobalConfigs,
|
|
39
|
+
daemon: bool
|
|
40
|
+
):
|
|
35
41
|
super().__init__(id, config, global_configs, daemon)
|
|
36
42
|
|
|
37
43
|
self.client: Optional[McpClient] = None
|
|
@@ -64,9 +70,6 @@ class McpServerComponent(ComponentService):
|
|
|
64
70
|
if self.config.manage.scripts.start:
|
|
65
71
|
await run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
|
|
66
72
|
|
|
67
|
-
async def _shutdown(self) -> None:
|
|
68
|
-
pass
|
|
69
|
-
|
|
70
73
|
async def _is_ready(self) -> bool:
|
|
71
74
|
try:
|
|
72
75
|
_, writer = await asyncio.open_connection("localhost", self.config.port)
|
|
@@ -64,7 +64,12 @@ class ModelTaskService(AsyncService):
|
|
|
64
64
|
pass
|
|
65
65
|
|
|
66
66
|
@abstractmethod
|
|
67
|
-
async def _run(
|
|
67
|
+
async def _run(
|
|
68
|
+
self,
|
|
69
|
+
action: ModelActionConfig,
|
|
70
|
+
context: ComponentActionContext,
|
|
71
|
+
loop: asyncio.AbstractEventLoop
|
|
72
|
+
) -> Any:
|
|
68
73
|
pass
|
|
69
74
|
|
|
70
75
|
def _get_model_path(self) -> str:
|
{model_compose-0.4.29 → model_compose-0.4.31}/src/mindor/core/component/services/model/model.py
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated,
|
|
1
|
+
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
2
|
+
from collections.abc import AsyncIterator
|
|
2
3
|
from mindor.dsl.schema.component import ModelComponentConfig, ModelTaskType, ModelDriver
|
|
3
4
|
from mindor.dsl.schema.action import ActionConfig, ModelActionConfig
|
|
4
5
|
from ...base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
@@ -14,7 +15,13 @@ class ModelAction:
|
|
|
14
15
|
|
|
15
16
|
@register_component(ComponentType.MODEL)
|
|
16
17
|
class ModelComponent(ComponentService):
|
|
17
|
-
def __init__(
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
id: str,
|
|
21
|
+
config: ModelComponentConfig,
|
|
22
|
+
global_configs: ComponentGlobalConfigs,
|
|
23
|
+
daemon: bool
|
|
24
|
+
):
|
|
18
25
|
super().__init__(id, config, global_configs, daemon)
|
|
19
26
|
|
|
20
27
|
self.task_service: ModelTaskService = self._create_task_service(self.config.task, self.config.driver)
|
|
@@ -13,7 +13,13 @@ if TYPE_CHECKING:
|
|
|
13
13
|
import torch
|
|
14
14
|
|
|
15
15
|
class HuggingfaceChatCompletionTaskAction(HuggingfaceTextGenerationTaskAction):
|
|
16
|
-
def __init__(
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
config: ChatCompletionModelActionConfig,
|
|
19
|
+
model: PreTrainedModel,
|
|
20
|
+
tokenizer: PreTrainedTokenizer,
|
|
21
|
+
device: torch.device
|
|
22
|
+
):
|
|
17
23
|
super().__init__(config, model, tokenizer, device)
|
|
18
24
|
|
|
19
25
|
self.config: ChatCompletionModelActionConfig = config # For type only
|
|
@@ -39,7 +45,12 @@ class HuggingfaceChatCompletionTaskAction(HuggingfaceTextGenerationTaskAction):
|
|
|
39
45
|
|
|
40
46
|
@register_model_task_service(ModelTaskType.CHAT_COMPLETION, ModelDriver.HUGGINGFACE)
|
|
41
47
|
class HuggingfaceChatCompletionTaskService(HuggingfaceLanguageModelTaskService):
|
|
42
|
-
async def _run(
|
|
48
|
+
async def _run(
|
|
49
|
+
self,
|
|
50
|
+
action: ModelActionConfig,
|
|
51
|
+
context: ComponentActionContext,
|
|
52
|
+
loop: asyncio.AbstractEventLoop
|
|
53
|
+
) -> Any:
|
|
43
54
|
return await HuggingfaceChatCompletionTaskAction(action, self.model, self.tokenizer, self.device).run(context, loop)
|
|
44
55
|
|
|
45
56
|
def _get_model_class(self) -> Type[PreTrainedModel]:
|
|
@@ -51,9 +51,6 @@ class InsightfaceFaceEmbeddingTaskService(FaceEmbeddingTaskService):
|
|
|
51
51
|
logging.error(f"Failed to load model '{self.config.model}': {e}")
|
|
52
52
|
raise
|
|
53
53
|
|
|
54
|
-
async def _shutdown(self) -> None:
|
|
55
|
-
pass
|
|
56
|
-
|
|
57
54
|
def _load_pretrained_model(self) -> FaceAnalysis:
|
|
58
55
|
from insightface.app import FaceAnalysis
|
|
59
56
|
|
|
@@ -109,5 +106,10 @@ class InsightfaceFaceEmbeddingTaskService(FaceEmbeddingTaskService):
|
|
|
109
106
|
def _get_device_id(self) -> int:
|
|
110
107
|
return 0
|
|
111
108
|
|
|
112
|
-
async def _run(
|
|
109
|
+
async def _run(
|
|
110
|
+
self,
|
|
111
|
+
action: ModelActionConfig,
|
|
112
|
+
context: ComponentActionContext,
|
|
113
|
+
loop: asyncio.AbstractEventLoop
|
|
114
|
+
) -> Any:
|
|
113
115
|
return await InsightfaceFaceEmbeddingTaskAction(action, self.model).run(context)
|
|
@@ -14,7 +14,12 @@ if TYPE_CHECKING:
|
|
|
14
14
|
import torch
|
|
15
15
|
|
|
16
16
|
class FluxImageGenerationTaskAction(ImageGenerationTaskAction):
|
|
17
|
-
def __init__(
|
|
17
|
+
def __init__(
|
|
18
|
+
self,
|
|
19
|
+
config: FluxImageGenerationModelActionConfig,
|
|
20
|
+
pipeline: Any,
|
|
21
|
+
device: Optional[torch.device]
|
|
22
|
+
):
|
|
18
23
|
super().__init__(config, device)
|
|
19
24
|
|
|
20
25
|
self.pipeline = pipeline
|
|
@@ -50,5 +55,10 @@ class FluxImageGenerationTaskService(ImageGenerationTaskService):
|
|
|
50
55
|
def _load_pretrained_pipeline(self) -> Tuple[Any, torch.device]:
|
|
51
56
|
pass
|
|
52
57
|
|
|
53
|
-
async def _run(
|
|
58
|
+
async def _run(
|
|
59
|
+
self,
|
|
60
|
+
action: ModelActionConfig,
|
|
61
|
+
context: ComponentActionContext,
|
|
62
|
+
loop: asyncio.AbstractEventLoop
|
|
63
|
+
) -> Any:
|
|
54
64
|
return FluxImageGenerationModelActionConfig(action, self.model).run(context)
|