model-compose 0.4.50__tar.gz → 0.4.52__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.50 → model_compose-0.4.52}/PKG-INFO +1 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/pyproject.toml +1 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/compose.py +3 -6
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/arangodb.py +1 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/neo4j.py +2 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/http_server.py +5 -5
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/mcp_server.py +5 -5
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/shell.py +3 -3
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/chrome.py +1 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/websocket_server.py +5 -5
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/docker/docker.py +1 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/services/__init__.py +1 -0
- model_compose-0.4.52/src/mindor/core/system/services/docker.py +57 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/services/docker_compose.py +7 -20
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/cdp_client.py +35 -8
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/shell.py +18 -27
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/arangodb.py +8 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/neo4j.py +11 -2
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/common.py +0 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/docker.py +1 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/__init__.py +1 -0
- model_compose-0.4.52/src/mindor/dsl/schema/system/impl/docker.py +51 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/types.py +1 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/system.py +1 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/PKG-INFO +1 -1
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/SOURCES.txt +2 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/LICENSE +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/README.md +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/setup.cfg +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/interrupt.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/component.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/context.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/process_manager.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/process_worker.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/agent.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/audio_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/ffmpeg.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/audio_extractor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/drivers/ffmpeg.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/datasets.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/local.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/utils.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/graph_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/http_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/image_processor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/drivers/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/key_value_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/mcp_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/huggingface_hub.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/llamacpp.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/unsloth.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/model.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/llamacpp.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/custom.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/insightface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/custom.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/flux.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/hunyuan_image.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/sdxl.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_to_text/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_to_text/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/custom.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/ldsr.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/real_esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/swinir.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/speech_to_text/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/speech_to_text/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_classification/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_classification/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/llamacpp.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/llamacpp.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/custom.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/qwen.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/text_splitter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/chroma.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/milvus.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/vector_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/ffmpeg.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/video_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/ffmpeg.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/pyscenedetect.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/transnetv2.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/video_scene_detector.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/playwright.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/web_browser.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_scraper.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/websocket_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/workflow.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/compose.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/manager.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/validator.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/adapter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/http_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/mcp_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/queue_subscriber.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/controller.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/drivers/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/queue.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/http_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/mcp_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/runner.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/apple_container/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/apple_container/apple_container.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/context/Dockerfile +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/docker.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/native/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/native/native.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/specs.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/driver.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/builder.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/driver.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/static/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/static/driver.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/webui.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/errors.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/evaluator/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/evaluator/condition.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/async_service.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/compat/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/compat/asyncio.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/ipc_messages.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/package.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/process_manager.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/process_worker.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/gateway.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/cloudflare.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/ngrok.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/http_tunnel.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/ssh_tunnel.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/listener.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/http_callback.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/http_trigger.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/logger.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/logging.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/console.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/file.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/apple_container/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/apple_container/apple_container.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/docker/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/env.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/system.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/active_counter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/audio.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/caching.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_request.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_response.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_status.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/image.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/mcp_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/renderers.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/resolvers.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/ssh_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/streamer.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/streaming.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/time.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/url.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/websocket_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/work_queue.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/context.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/interrupt.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/base.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/component.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/delay.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/filter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/if_.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/random_router.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/switch.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/job.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/schema.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/tool.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/workflow.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/loader.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/action.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/agent.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/audio_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/audio_extractor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/datasets.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/huggingface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/local.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/graph_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/arangodb.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/neo4j.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/http_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/http_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/image_processor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/key_value_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/mcp_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/mcp_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/chat_completion.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/face_embedding.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/dlib.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/facenet.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/insightface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/image_generation.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/flux.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/sdxl.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_to_text.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/image_upscale.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/swinir.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/speech_to_text.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_classification.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_embedding.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_generation.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/model.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/classification.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/sft.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/model_trainer.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/shell.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/text_splitter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/chroma.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/faiss.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/milvus.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/qdrant.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/vector_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/video_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/video_scene_detector.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/web_browser.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/web_scraper.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/websocket_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/websocket_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/workflow.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/component.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/agent.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/audio_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/audio_extractor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/datasets/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/datasets/datasets.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/graph_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/http_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/http_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/image_processor.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/key_value_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/mcp_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/mcp_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/chat_completion.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/face_embedding.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/dlib.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/facenet.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/insightface.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/image_generation.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/flux.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/sdxl.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_to_text.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/image_upscale.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/swinir.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/speech_to_text.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_classification.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_embedding.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_generation.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/model.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/classification.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/sft.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/model_trainer.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/shell.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/text_splitter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/chroma.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/faiss.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/milvus.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/qdrant.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/vector_store.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/video_converter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/video_scene_detector.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/chrome.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/playwright.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/web_browser.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_scraper.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/websocket_client.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/websocket_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/workflow.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/compose.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/adapter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/http_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/mcp_server.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/queue_subscriber.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/controller.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/redis.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/queue.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/dynamic.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/gradio.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/static.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/webui.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/gateway.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/http_tunnel.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/cloudflare.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/ngrok.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/ssh_tunnel.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/component.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/delay.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/filter.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/if_.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/random_router.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/switch.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/job.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/http_callback.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/http_trigger.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/listener.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/console.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/file.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/logger.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/operator/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/operator/condition.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/apple_container.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/embedded.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/native.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/process.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/types.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/runtime.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/common.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/docker_compose.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/http.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/ssh.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/workflow.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/__init__.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/enum.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/path.py +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/dependency_links.txt +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/entry_points.txt +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/requires.txt +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/top_level.txt +0 -0
- {model_compose-0.4.50 → model_compose-0.4.52}/tests/test_cli.py +0 -0
|
@@ -65,12 +65,9 @@ def up_command(
|
|
|
65
65
|
config = _load_compose_config(config_files, env_files, env_data)
|
|
66
66
|
await launch_services(config, detach, verbose)
|
|
67
67
|
except Exception as e:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
traceback.print_exc()
|
|
72
|
-
else:
|
|
73
|
-
click.echo(f"❌ {e}", err=True)
|
|
68
|
+
import traceback
|
|
69
|
+
click.echo(f"❌ Error: {e}\n\nTraceback:", err=True)
|
|
70
|
+
traceback.print_exc()
|
|
74
71
|
raise SystemExit(1)
|
|
75
72
|
asyncio.run(_async_command())
|
|
76
73
|
|
|
@@ -257,7 +257,7 @@ class ArangoDBGraphStoreService(GraphStoreService):
|
|
|
257
257
|
def _create_client(self) -> Tuple[ArangoClient, StandardDatabase]:
|
|
258
258
|
from arango import ArangoClient
|
|
259
259
|
|
|
260
|
-
url = f"{self.config.protocol}://{self.config.host}:{self.config.port}"
|
|
260
|
+
url = self.config.url if self.config.url else f"{self.config.protocol}://{self.config.host}:{self.config.port}"
|
|
261
261
|
client = ArangoClient(
|
|
262
262
|
hosts=url,
|
|
263
263
|
request_timeout=parse_duration(self.config.timeout).total_seconds()
|
|
@@ -301,9 +301,10 @@ class Neo4jGraphStoreService(GraphStoreService):
|
|
|
301
301
|
from neo4j import AsyncGraphDatabase
|
|
302
302
|
|
|
303
303
|
auth = (self.config.username, self.config.password) if self.config.username else None
|
|
304
|
+
url = self.config.url if self.config.url else f"{self.config.protocol}://{self.config.host}:{self.config.port}"
|
|
304
305
|
|
|
305
306
|
return AsyncGraphDatabase.driver(
|
|
306
|
-
|
|
307
|
+
url,
|
|
307
308
|
auth=auth,
|
|
308
309
|
connection_timeout=parse_duration(self.config.timeout).total_seconds()
|
|
309
310
|
)
|
{model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/http_server.py
RENAMED
|
@@ -8,7 +8,7 @@ from mindor.core.utils.http_client import HttpClient
|
|
|
8
8
|
from mindor.core.utils.http_status import is_status_code_matched
|
|
9
9
|
from mindor.core.utils.streaming import StreamResource
|
|
10
10
|
from mindor.core.utils.time import parse_duration
|
|
11
|
-
from mindor.core.utils.shell import
|
|
11
|
+
from mindor.core.utils.shell import run_command_foreground
|
|
12
12
|
from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
13
13
|
from ..context import ComponentActionContext
|
|
14
14
|
from datetime import datetime, timezone
|
|
@@ -151,16 +151,16 @@ class HttpServerComponent(ComponentService):
|
|
|
151
151
|
async def _setup(self) -> None:
|
|
152
152
|
if self.config.manage.scripts.install:
|
|
153
153
|
for command in self.config.manage.scripts.install:
|
|
154
|
-
await
|
|
154
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
155
155
|
|
|
156
156
|
if self.config.manage.scripts.build:
|
|
157
157
|
for command in self.config.manage.scripts.build:
|
|
158
|
-
await
|
|
158
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
159
159
|
|
|
160
160
|
async def _teardown(self):
|
|
161
161
|
if self.config.manage.scripts.clean:
|
|
162
162
|
for command in self.config.manage.scripts.clean:
|
|
163
|
-
await
|
|
163
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
164
164
|
|
|
165
165
|
async def _start(self) -> None:
|
|
166
166
|
base_url = f"http://localhost:{self.config.port}" + (self.config.base_path or "")
|
|
@@ -174,7 +174,7 @@ class HttpServerComponent(ComponentService):
|
|
|
174
174
|
|
|
175
175
|
async def _serve(self) -> None:
|
|
176
176
|
if self.config.manage.scripts.start:
|
|
177
|
-
await
|
|
177
|
+
await run_command_foreground(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
|
|
178
178
|
|
|
179
179
|
async def _is_ready(self) -> bool:
|
|
180
180
|
try:
|
{model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/mcp_server.py
RENAMED
|
@@ -2,7 +2,7 @@ from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annot
|
|
|
2
2
|
from mindor.dsl.schema.component import McpServerComponentConfig
|
|
3
3
|
from mindor.dsl.schema.action import ActionConfig, McpServerActionConfig
|
|
4
4
|
from mindor.core.utils.mcp_client import McpClient, ContentBlock, TextContent, ImageContent, AudioContent
|
|
5
|
-
from mindor.core.utils.shell import
|
|
5
|
+
from mindor.core.utils.shell import run_command_foreground
|
|
6
6
|
from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
7
7
|
from ..context import ComponentActionContext
|
|
8
8
|
import asyncio
|
|
@@ -45,16 +45,16 @@ class McpServerComponent(ComponentService):
|
|
|
45
45
|
async def _setup(self) -> None:
|
|
46
46
|
if self.config.manage.scripts.install:
|
|
47
47
|
for command in self.config.manage.scripts.install:
|
|
48
|
-
await
|
|
48
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
49
49
|
|
|
50
50
|
if self.config.manage.scripts.build:
|
|
51
51
|
for command in self.config.manage.scripts.build:
|
|
52
|
-
await
|
|
52
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
53
53
|
|
|
54
54
|
async def _teardown(self):
|
|
55
55
|
if self.config.manage.scripts.clean:
|
|
56
56
|
for command in self.config.manage.scripts.clean:
|
|
57
|
-
await
|
|
57
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
58
58
|
|
|
59
59
|
async def _start(self) -> None:
|
|
60
60
|
base_url = f"http://localhost:{self.config.port}" + (self.config.base_path or "")
|
|
@@ -68,7 +68,7 @@ class McpServerComponent(ComponentService):
|
|
|
68
68
|
|
|
69
69
|
async def _serve(self) -> None:
|
|
70
70
|
if self.config.manage.scripts.start:
|
|
71
|
-
await
|
|
71
|
+
await run_command_foreground(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
|
|
72
72
|
|
|
73
73
|
async def _is_ready(self) -> bool:
|
|
74
74
|
try:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
2
2
|
from mindor.dsl.schema.component import ShellComponentConfig
|
|
3
3
|
from mindor.dsl.schema.action import ActionConfig, ShellActionConfig
|
|
4
|
-
from mindor.core.utils.shell import
|
|
4
|
+
from mindor.core.utils.shell import run_command_foreground, run_command
|
|
5
5
|
from mindor.core.utils.time import parse_duration
|
|
6
6
|
from mindor.core.logger import logging
|
|
7
7
|
from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
@@ -74,12 +74,12 @@ class ShellComponent(ComponentService):
|
|
|
74
74
|
async def _setup(self) -> None:
|
|
75
75
|
if self.config.manage.scripts.install:
|
|
76
76
|
for command in self.config.manage.scripts.install:
|
|
77
|
-
await
|
|
77
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
78
78
|
|
|
79
79
|
async def _teardown(self):
|
|
80
80
|
if self.config.manage.scripts.clean:
|
|
81
81
|
for command in self.config.manage.scripts.clean:
|
|
82
|
-
await
|
|
82
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
83
83
|
|
|
84
84
|
async def _run(self, action: ActionConfig, context: ComponentActionContext) -> Any:
|
|
85
85
|
return await ShellAction(action, self.config.base_dir, self.config.env).run(context)
|
|
@@ -317,7 +317,7 @@ class ChromeWebBrowserService(WebBrowserService):
|
|
|
317
317
|
client = CdpClient(self.config.endpoint)
|
|
318
318
|
await client.connect()
|
|
319
319
|
else:
|
|
320
|
-
client = await CdpClient.
|
|
320
|
+
client = await CdpClient.discover(
|
|
321
321
|
self.config.host, self.config.port, self.config.target_index
|
|
322
322
|
)
|
|
323
323
|
return ChromeBrowserSession(client)
|
{model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/websocket_server.py
RENAMED
|
@@ -4,7 +4,7 @@ from mindor.dsl.schema.action import ActionConfig, WebSocketServerActionConfig
|
|
|
4
4
|
from mindor.dsl.schema.action.impl.websocket_server import WebSocketReceiveFormat
|
|
5
5
|
from mindor.core.utils.websocket_client import WebSocketClient, WebSocketConnection
|
|
6
6
|
from mindor.core.utils.streaming import BytesStreamResource
|
|
7
|
-
from mindor.core.utils.shell import
|
|
7
|
+
from mindor.core.utils.shell import run_command_foreground
|
|
8
8
|
from mindor.core.utils.time import parse_duration
|
|
9
9
|
from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
|
|
10
10
|
from ..context import ComponentActionContext
|
|
@@ -130,16 +130,16 @@ class WebSocketServerComponent(ComponentService):
|
|
|
130
130
|
async def _setup(self) -> None:
|
|
131
131
|
if self.config.manage.scripts.install:
|
|
132
132
|
for command in self.config.manage.scripts.install:
|
|
133
|
-
await
|
|
133
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
134
134
|
|
|
135
135
|
if self.config.manage.scripts.build:
|
|
136
136
|
for command in self.config.manage.scripts.build:
|
|
137
|
-
await
|
|
137
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
138
138
|
|
|
139
139
|
async def _teardown(self):
|
|
140
140
|
if self.config.manage.scripts.clean:
|
|
141
141
|
for command in self.config.manage.scripts.clean:
|
|
142
|
-
await
|
|
142
|
+
await run_command_foreground(command, self.config.manage.working_dir, self.config.manage.env)
|
|
143
143
|
|
|
144
144
|
async def _start(self) -> None:
|
|
145
145
|
base_url = f"ws://localhost:{self.config.port}" + (self.config.base_path or "")
|
|
@@ -160,7 +160,7 @@ class WebSocketServerComponent(ComponentService):
|
|
|
160
160
|
|
|
161
161
|
async def _serve(self) -> None:
|
|
162
162
|
if self.config.manage.scripts.start:
|
|
163
|
-
await
|
|
163
|
+
await run_command_foreground(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
|
|
164
164
|
|
|
165
165
|
async def _is_ready(self) -> bool:
|
|
166
166
|
try:
|
|
@@ -109,6 +109,7 @@ class DockerRuntimeManager:
|
|
|
109
109
|
entrypoint=self.config.entrypoint,
|
|
110
110
|
working_dir=self.config.working_dir,
|
|
111
111
|
user=self.config.user,
|
|
112
|
+
shm_size=self.config.shm_size,
|
|
112
113
|
mem_limit=self.config.mem_limit,
|
|
113
114
|
memswap_limit=self.config.memswap_limit,
|
|
114
115
|
cpu_shares=self.config.cpu_shares,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
from mindor.dsl.schema.system.impl.docker import DockerSystemConfig
|
|
2
|
+
from mindor.dsl.schema.system.impl.types import SystemType
|
|
3
|
+
from mindor.dsl.schema.runtime.impl.docker import DockerRuntimeConfig
|
|
4
|
+
from mindor.dsl.schema.runtime.impl.types import RuntimeType
|
|
5
|
+
from mindor.core.system.base import SystemService, register_system
|
|
6
|
+
from mindor.core.runtime.docker.docker import DockerRuntimeManager
|
|
7
|
+
from mindor.core.logger import logging
|
|
8
|
+
import shutil
|
|
9
|
+
|
|
10
|
+
@register_system(SystemType.DOCKER)
|
|
11
|
+
class DockerSystem(SystemService):
|
|
12
|
+
def __init__(self, id: str, config: DockerSystemConfig, daemon: bool):
|
|
13
|
+
super().__init__(id, config, daemon)
|
|
14
|
+
|
|
15
|
+
self.config: DockerSystemConfig = config
|
|
16
|
+
self._configure_system_config()
|
|
17
|
+
|
|
18
|
+
self._runtime: DockerRuntimeManager = DockerRuntimeManager(
|
|
19
|
+
config=self._build_runtime_config(self.config),
|
|
20
|
+
verbose=True,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
def _configure_system_config(self) -> None:
|
|
24
|
+
if not self.config.container_name:
|
|
25
|
+
self.config.container_name = f"mindor-system-{self.id}"
|
|
26
|
+
|
|
27
|
+
def _build_runtime_config(self, config: DockerSystemConfig) -> DockerRuntimeConfig:
|
|
28
|
+
shared_fields = set(DockerRuntimeConfig.model_fields) & set(DockerSystemConfig.model_fields)
|
|
29
|
+
return DockerRuntimeConfig(**{
|
|
30
|
+
**{ k: getattr(config, k) for k in shared_fields },
|
|
31
|
+
"type": RuntimeType.DOCKER,
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
async def _setup(self) -> None:
|
|
35
|
+
if not shutil.which("docker"):
|
|
36
|
+
raise RuntimeError("'docker' command not found. Please install Docker to use docker systems.")
|
|
37
|
+
|
|
38
|
+
if self.config.build:
|
|
39
|
+
await self._runtime.build_image()
|
|
40
|
+
elif self.config.image:
|
|
41
|
+
if not await self._runtime.exists_image():
|
|
42
|
+
await self._runtime.pull_image()
|
|
43
|
+
|
|
44
|
+
async def _serve(self) -> None:
|
|
45
|
+
await self._runtime.start_container(detach=True)
|
|
46
|
+
logging.info(f"Docker container started: {self.config.container_name or self.config.image}")
|
|
47
|
+
|
|
48
|
+
async def _shutdown(self) -> None:
|
|
49
|
+
try:
|
|
50
|
+
await self._runtime.stop_container()
|
|
51
|
+
await self._runtime.remove_container()
|
|
52
|
+
logging.info(f"Docker container stopped: {self.config.container_name or self.config.image}")
|
|
53
|
+
except Exception as e:
|
|
54
|
+
logging.warning(f"Docker container cleanup failed: {e}")
|
|
55
|
+
|
|
56
|
+
async def _is_ready(self) -> bool:
|
|
57
|
+
return await self._runtime.is_container_running()
|
{model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/services/docker_compose.py
RENAMED
|
@@ -3,6 +3,7 @@ from mindor.dsl.schema.system.impl.docker_compose import DockerComposeSystemConf
|
|
|
3
3
|
from mindor.dsl.schema.system.impl.types import SystemType
|
|
4
4
|
from mindor.core.system.base import SystemService, register_system
|
|
5
5
|
from mindor.core.logger import logging
|
|
6
|
+
from mindor.core.utils.shell import run_command_foreground
|
|
6
7
|
from mindor.core.utils.time import parse_duration
|
|
7
8
|
import asyncio
|
|
8
9
|
import shutil
|
|
@@ -20,33 +21,19 @@ class DockerComposeSystem(SystemService):
|
|
|
20
21
|
|
|
21
22
|
async def _serve(self) -> None:
|
|
22
23
|
command = self._build_up_command()
|
|
23
|
-
|
|
24
|
-
*command,
|
|
25
|
-
stdout=asyncio.subprocess.PIPE,
|
|
26
|
-
stderr=asyncio.subprocess.PIPE,
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
stdout, stderr = await process.communicate()
|
|
24
|
+
exit_code = await run_command_foreground(command)
|
|
30
25
|
|
|
31
|
-
if
|
|
32
|
-
|
|
33
|
-
raise RuntimeError(f"Docker compose up failed (exit {process.returncode}): {error}")
|
|
26
|
+
if exit_code != 0:
|
|
27
|
+
raise RuntimeError(f"Docker compose up failed (exit {exit_code})")
|
|
34
28
|
|
|
35
29
|
logging.info(f"Docker compose started: {' '.join(self.config.files) or 'docker-compose.yml'}")
|
|
36
30
|
|
|
37
31
|
async def _shutdown(self) -> None:
|
|
38
32
|
command = self._build_down_command()
|
|
39
|
-
|
|
40
|
-
*command,
|
|
41
|
-
stdout=asyncio.subprocess.PIPE,
|
|
42
|
-
stderr=asyncio.subprocess.PIPE,
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
stdout, stderr = await process.communicate()
|
|
33
|
+
exit_code = await run_command_foreground(command)
|
|
46
34
|
|
|
47
|
-
if
|
|
48
|
-
|
|
49
|
-
logging.warning(f"Docker compose down failed (exit {process.returncode}): {error}")
|
|
35
|
+
if exit_code != 0:
|
|
36
|
+
logging.warning(f"Docker compose down failed (exit {exit_code})")
|
|
50
37
|
else:
|
|
51
38
|
logging.info(f"Docker compose stopped: {' '.join(self.config.files) or 'docker-compose.yml'}")
|
|
52
39
|
|
|
@@ -26,8 +26,21 @@ class CdpClient:
|
|
|
26
26
|
self._reader_task: Optional[asyncio.Task] = None
|
|
27
27
|
|
|
28
28
|
async def connect(self) -> None:
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
import time
|
|
30
|
+
|
|
31
|
+
deadline = time.monotonic() + self.timeout
|
|
32
|
+
last_error: Optional[Exception] = None
|
|
33
|
+
|
|
34
|
+
while time.monotonic() < deadline:
|
|
35
|
+
try:
|
|
36
|
+
self._websocket, _ = await WebSocketClient(self.ws_url).connect()
|
|
37
|
+
self._reader_task = asyncio.create_task(self._reader_loop())
|
|
38
|
+
return
|
|
39
|
+
except (OSError, ConnectionError) as e:
|
|
40
|
+
last_error = e
|
|
41
|
+
await asyncio.sleep(1)
|
|
42
|
+
|
|
43
|
+
raise ConnectionError(f"Could not connect to {self.ws_url} within {self.timeout}s: {last_error}")
|
|
31
44
|
|
|
32
45
|
async def close(self) -> None:
|
|
33
46
|
if self._reader_task:
|
|
@@ -91,7 +104,7 @@ class CdpClient:
|
|
|
91
104
|
self._pending.clear()
|
|
92
105
|
|
|
93
106
|
@classmethod
|
|
94
|
-
async def
|
|
107
|
+
async def discover(
|
|
95
108
|
cls,
|
|
96
109
|
host: str,
|
|
97
110
|
port: int,
|
|
@@ -99,22 +112,36 @@ class CdpClient:
|
|
|
99
112
|
timeout: float = 30.0,
|
|
100
113
|
) -> CdpClient:
|
|
101
114
|
"""Discover the debugger URL by querying /json on the HTTP DevTools port."""
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
115
|
+
import time
|
|
116
|
+
|
|
117
|
+
deadline = time.monotonic() + timeout
|
|
118
|
+
last_error: Optional[Exception] = None
|
|
119
|
+
|
|
120
|
+
while time.monotonic() < deadline:
|
|
121
|
+
try:
|
|
122
|
+
async with aiohttp.ClientSession() as session:
|
|
123
|
+
async with session.get(f"http://{host}:{port}/json") as response:
|
|
124
|
+
targets = await response.json(content_type=None)
|
|
125
|
+
break
|
|
126
|
+
except (aiohttp.ClientError, OSError) as e:
|
|
127
|
+
last_error = e
|
|
128
|
+
await asyncio.sleep(1)
|
|
129
|
+
else:
|
|
130
|
+
raise ConnectionError(f"Could not reach CDP at {host}:{port} within {timeout}s: {last_error}")
|
|
105
131
|
|
|
106
132
|
page_targets = [ t for t in targets if t.get("type") == "page" ]
|
|
107
133
|
|
|
108
134
|
if not page_targets:
|
|
109
135
|
raise ConnectionError(f"No 'page' target found at {host}:{port}.")
|
|
136
|
+
|
|
110
137
|
if target_index >= len(page_targets):
|
|
111
138
|
raise IndexError(
|
|
112
139
|
f"target_index {target_index} is out of range; "
|
|
113
140
|
f"{len(page_targets)} page target(s) found."
|
|
114
141
|
)
|
|
115
142
|
|
|
116
|
-
|
|
117
|
-
instance = cls(
|
|
143
|
+
websocket_url = page_targets[target_index]["webSocketDebuggerUrl"]
|
|
144
|
+
instance = cls(websocket_url, timeout=timeout)
|
|
118
145
|
await instance.connect()
|
|
119
146
|
|
|
120
147
|
return instance
|
|
@@ -1,32 +1,6 @@
|
|
|
1
1
|
from typing import Dict, List, Tuple, Optional
|
|
2
2
|
from asyncio.subprocess import Process
|
|
3
|
-
import asyncio, os
|
|
4
|
-
|
|
5
|
-
async def run_command_streaming(
|
|
6
|
-
command: List[str],
|
|
7
|
-
working_dir: Optional[str] = None,
|
|
8
|
-
env: Dict[str, str] = None
|
|
9
|
-
) -> None:
|
|
10
|
-
process = await asyncio.create_subprocess_exec(
|
|
11
|
-
*command,
|
|
12
|
-
cwd=working_dir or os.getcwd(),
|
|
13
|
-
env={ **os.environ, **(env or {}) },
|
|
14
|
-
stdout=asyncio.subprocess.PIPE,
|
|
15
|
-
stderr=asyncio.subprocess.PIPE
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
async def _stream_output(pipe: asyncio.StreamReader) -> None:
|
|
19
|
-
while True:
|
|
20
|
-
line = await pipe.readline()
|
|
21
|
-
if not line:
|
|
22
|
-
break
|
|
23
|
-
print(line.decode().rstrip())
|
|
24
|
-
|
|
25
|
-
await asyncio.gather(
|
|
26
|
-
_stream_output(process.stdout),
|
|
27
|
-
_stream_output(process.stderr),
|
|
28
|
-
process.wait()
|
|
29
|
-
)
|
|
3
|
+
import asyncio, os, sys
|
|
30
4
|
|
|
31
5
|
async def run_command(
|
|
32
6
|
command: List[str],
|
|
@@ -50,6 +24,23 @@ async def run_command(
|
|
|
50
24
|
|
|
51
25
|
return (stdout, stderr, process.returncode)
|
|
52
26
|
|
|
27
|
+
async def run_command_foreground(
|
|
28
|
+
command: List[str],
|
|
29
|
+
working_dir: Optional[str] = None,
|
|
30
|
+
env: Dict[str, str] = None
|
|
31
|
+
) -> int:
|
|
32
|
+
process = await asyncio.create_subprocess_exec(
|
|
33
|
+
*command,
|
|
34
|
+
cwd=working_dir or os.getcwd(),
|
|
35
|
+
env={ **os.environ, **(env or {}) },
|
|
36
|
+
stdout=sys.stdout,
|
|
37
|
+
stderr=sys.stderr
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
await process.wait()
|
|
41
|
+
|
|
42
|
+
return process.returncode
|
|
43
|
+
|
|
53
44
|
async def kill_process(process: Process) -> bool:
|
|
54
45
|
if process.returncode is None:
|
|
55
46
|
process.kill()
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
2
2
|
from enum import Enum
|
|
3
|
-
from pydantic import BaseModel, Field
|
|
3
|
+
from pydantic import BaseModel, Field, model_validator
|
|
4
4
|
from mindor.dsl.schema.action import ArangoDBGraphStoreActionConfig
|
|
5
5
|
from .common import CommonGraphStoreComponentConfig, GraphStoreDriver
|
|
6
6
|
|
|
7
7
|
class ArangoDBGraphStoreComponentConfig(CommonGraphStoreComponentConfig):
|
|
8
8
|
driver: Literal[GraphStoreDriver.ARANGODB]
|
|
9
|
+
url: Optional[str] = Field(default=None, description="ArangoDB connection URL (e.g., http://localhost:8529).")
|
|
9
10
|
host: str = Field(default="localhost", description="ArangoDB server hostname or IP address.")
|
|
10
11
|
port: int = Field(default=8529, ge=1, le=65535, description="ArangoDB server port number.")
|
|
11
12
|
protocol: Literal["http", "https"] = Field(default="http", description="Connection protocol.")
|
|
@@ -14,3 +15,9 @@ class ArangoDBGraphStoreComponentConfig(CommonGraphStoreComponentConfig):
|
|
|
14
15
|
database: str = Field(default="_system", description="Target database name.")
|
|
15
16
|
timeout: str = Field(default="30s", description="Client operation timeout.")
|
|
16
17
|
actions: List[ArangoDBGraphStoreActionConfig] = Field(default_factory=list)
|
|
18
|
+
|
|
19
|
+
@model_validator(mode="before")
|
|
20
|
+
def validate_url_or_host(cls, values: Dict[str, Any]):
|
|
21
|
+
if values.get("url") and values.get("host"):
|
|
22
|
+
raise ValueError("Either 'url' or 'host' should be set, but not both")
|
|
23
|
+
return values
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
|
|
2
2
|
from enum import Enum
|
|
3
|
-
from pydantic import BaseModel, Field
|
|
3
|
+
from pydantic import BaseModel, Field, model_validator
|
|
4
4
|
from mindor.dsl.schema.action import Neo4jGraphStoreActionConfig
|
|
5
5
|
from .common import CommonGraphStoreComponentConfig, GraphStoreDriver
|
|
6
6
|
|
|
7
7
|
class Neo4jGraphStoreComponentConfig(CommonGraphStoreComponentConfig):
|
|
8
8
|
driver: Literal[GraphStoreDriver.NEO4J]
|
|
9
|
-
|
|
9
|
+
url: Optional[str] = Field(default=None, description="Neo4j connection URL (bolt:// or neo4j://).")
|
|
10
|
+
host: str = Field(default="localhost", description="Neo4j server hostname or IP address.")
|
|
11
|
+
port: int = Field(default=7687, ge=1, le=65535, description="Neo4j server port number.")
|
|
12
|
+
protocol: Literal["bolt", "neo4j", "bolt+s", "neo4j+s", "bolt+ssc", "neo4j+ssc"] = Field(default="bolt", description="Neo4j connection protocol.")
|
|
10
13
|
username: Optional[str] = Field(default=None, description="Username for authentication.")
|
|
11
14
|
password: Optional[str] = Field(default=None, description="Password for authentication.")
|
|
12
15
|
database: Optional[str] = Field(default=None, description="Target database name. Uses default database if not specified.")
|
|
13
16
|
timeout: str = Field(default="30s", description="Client operation timeout.")
|
|
14
17
|
actions: List[Neo4jGraphStoreActionConfig] = Field(default_factory=list)
|
|
18
|
+
|
|
19
|
+
@model_validator(mode="before")
|
|
20
|
+
def validate_url_or_host(cls, values: Dict[str, Any]):
|
|
21
|
+
if values.get("url") and values.get("host"):
|
|
22
|
+
raise ValueError("Either 'url' or 'host' should be set, but not both")
|
|
23
|
+
return values
|
|
@@ -10,5 +10,4 @@ class WebBrowserDriver(str, Enum):
|
|
|
10
10
|
class CommonWebBrowserComponentConfig(CommonComponentConfig):
|
|
11
11
|
type: Literal[ComponentType.WEB_BROWSER]
|
|
12
12
|
driver: WebBrowserDriver = Field(default=WebBrowserDriver.CHROME, description="Browser driver.")
|
|
13
|
-
novnc_url: Optional[str] = Field(default=None, description="URL of the noVNC viewer for this browser session. Included in interrupt metadata so humans know where to connect.")
|
|
14
13
|
timeout: Optional[str] = Field(default="30s", description="Default command timeout for all actions.")
|
|
@@ -69,6 +69,7 @@ class DockerRuntimeConfig(CommonRuntimeConfig):
|
|
|
69
69
|
working_dir: Optional[str] = Field(default=None, description="Working directory inside the container.")
|
|
70
70
|
user: Optional[str] = Field(default=None, description="User to run the container as.")
|
|
71
71
|
# Resource limits
|
|
72
|
+
shm_size: Optional[str] = Field(default=None, description="Shared memory size (e.g. '2gb').")
|
|
72
73
|
mem_limit: Optional[str] = Field(default=None, description="Memory limit.")
|
|
73
74
|
memswap_limit: Optional[str] = Field(default=None, description="Total memory + swap limit.")
|
|
74
75
|
cpus: Optional[Union[str, float]] = Field(default=None, description="CPU quota.")
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from typing import Union, Literal, Optional, Dict, List, Any
|
|
2
|
+
from pydantic import Field
|
|
3
|
+
from .common import CommonSystemConfig
|
|
4
|
+
from .types import SystemType
|
|
5
|
+
from mindor.dsl.schema.runtime.impl.docker import (
|
|
6
|
+
DockerBuildConfig,
|
|
7
|
+
DockerPortConfig,
|
|
8
|
+
DockerVolumeConfig,
|
|
9
|
+
DockerHealthCheck,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
class DockerSystemConfig(CommonSystemConfig):
|
|
13
|
+
type: Literal[SystemType.DOCKER] = Field(default=SystemType.DOCKER, description="Docker system type.")
|
|
14
|
+
# Image or build
|
|
15
|
+
image: Optional[str] = Field(default=None, description="Docker image name with optional tag.")
|
|
16
|
+
build: Optional[DockerBuildConfig] = Field(default=None, description="Build configuration for building image locally.")
|
|
17
|
+
# Container identity
|
|
18
|
+
container_name: Optional[str] = Field(default=None, description="Name of the container.")
|
|
19
|
+
hostname: Optional[str] = Field(default=None, description="Hostname inside the container.")
|
|
20
|
+
# Networking
|
|
21
|
+
ports: Optional[List[Union[str, int, DockerPortConfig]]] = Field(default=None, description="Port mappings.")
|
|
22
|
+
networks: Optional[List[str]] = Field(default_factory=list, description="Networks to attach the container to.")
|
|
23
|
+
extra_hosts: Optional[Dict[str, str]] = Field(default=None, description="Extra hosts to add to /etc/hosts.")
|
|
24
|
+
# Volumes
|
|
25
|
+
volumes: Optional[List[Union[str, DockerVolumeConfig]]] = Field(default=None, description="Volume mounts.")
|
|
26
|
+
# GPU
|
|
27
|
+
gpus: Optional[Union[str, int]] = Field(default=None, description="GPU devices to expose. Use 'all' for all GPUs or a count (e.g. 1).")
|
|
28
|
+
# Environment variables
|
|
29
|
+
environment: Optional[Dict[str, Union[str, int, float, bool]]] = Field(default=None, description="Environment variables.")
|
|
30
|
+
env_file: Optional[Union[str, List[str]]] = Field(default=None, description="Environment files.")
|
|
31
|
+
# Command overrides
|
|
32
|
+
command: Optional[Union[str, List[str]]] = Field(default=None, description="Override the default command.")
|
|
33
|
+
entrypoint: Optional[Union[str, List[str]]] = Field(default=None, description="Override the entrypoint.")
|
|
34
|
+
working_dir: Optional[str] = Field(default=None, description="Working directory inside the container.")
|
|
35
|
+
user: Optional[str] = Field(default=None, description="User to run the container as.")
|
|
36
|
+
# Resource limits
|
|
37
|
+
shm_size: Optional[str] = Field(default=None, description="Shared memory size (e.g. '2gb').")
|
|
38
|
+
mem_limit: Optional[str] = Field(default=None, description="Memory limit.")
|
|
39
|
+
memswap_limit: Optional[str] = Field(default=None, description="Total memory + swap limit.")
|
|
40
|
+
cpus: Optional[Union[str, float]] = Field(default=None, description="CPU quota.")
|
|
41
|
+
cpu_shares: Optional[int] = Field(default=None, description="Relative CPU weight.")
|
|
42
|
+
# Restart policy and health checks
|
|
43
|
+
restart: str = Field(default="no", description="Restart policy.")
|
|
44
|
+
healthcheck: Optional[DockerHealthCheck] = Field(default=None, description="Health check configuration.")
|
|
45
|
+
# Miscellaneous
|
|
46
|
+
labels: Optional[Dict[str, str]] = Field(default=None, description="Container labels.")
|
|
47
|
+
privileged: Optional[bool] = Field(default=None, description="Run container in privileged mode.")
|
|
48
|
+
security_opt: Optional[List[str]] = Field(default=None, description="Security options.")
|
|
49
|
+
# System-specific
|
|
50
|
+
wait: bool = Field(default=True, description="Whether to wait for the container to be ready before proceeding.")
|
|
51
|
+
wait_timeout: Optional[str] = Field(default="60s", description="Timeout for waiting for container to be ready.")
|
|
@@ -215,6 +215,7 @@ src/mindor/core/system/__init__.py
|
|
|
215
215
|
src/mindor/core/system/base.py
|
|
216
216
|
src/mindor/core/system/system.py
|
|
217
217
|
src/mindor/core/system/services/__init__.py
|
|
218
|
+
src/mindor/core/system/services/docker.py
|
|
218
219
|
src/mindor/core/system/services/docker_compose.py
|
|
219
220
|
src/mindor/core/utils/__init__.py
|
|
220
221
|
src/mindor/core/utils/active_counter.py
|
|
@@ -519,6 +520,7 @@ src/mindor/dsl/schema/system/__init__.py
|
|
|
519
520
|
src/mindor/dsl/schema/system/system.py
|
|
520
521
|
src/mindor/dsl/schema/system/impl/__init__.py
|
|
521
522
|
src/mindor/dsl/schema/system/impl/common.py
|
|
523
|
+
src/mindor/dsl/schema/system/impl/docker.py
|
|
522
524
|
src/mindor/dsl/schema/system/impl/docker_compose.py
|
|
523
525
|
src/mindor/dsl/schema/system/impl/types.py
|
|
524
526
|
src/mindor/dsl/schema/transport/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|