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.
Files changed (540) hide show
  1. {model_compose-0.4.50 → model_compose-0.4.52}/PKG-INFO +1 -1
  2. {model_compose-0.4.50 → model_compose-0.4.52}/pyproject.toml +1 -1
  3. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/compose.py +3 -6
  4. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/arangodb.py +1 -1
  5. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/neo4j.py +2 -1
  6. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/http_server.py +5 -5
  7. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/mcp_server.py +5 -5
  8. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/shell.py +3 -3
  9. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/chrome.py +1 -1
  10. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/websocket_server.py +5 -5
  11. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/docker/docker.py +1 -0
  12. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/services/__init__.py +1 -0
  13. model_compose-0.4.52/src/mindor/core/system/services/docker.py +57 -0
  14. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/services/docker_compose.py +7 -20
  15. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/cdp_client.py +35 -8
  16. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/shell.py +18 -27
  17. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/arangodb.py +8 -1
  18. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/neo4j.py +11 -2
  19. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/common.py +0 -1
  20. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/docker.py +1 -0
  21. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/__init__.py +1 -0
  22. model_compose-0.4.52/src/mindor/dsl/schema/system/impl/docker.py +51 -0
  23. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/types.py +1 -0
  24. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/system.py +1 -0
  25. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/PKG-INFO +1 -1
  26. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/SOURCES.txt +2 -0
  27. {model_compose-0.4.50 → model_compose-0.4.52}/LICENSE +0 -0
  28. {model_compose-0.4.50 → model_compose-0.4.52}/README.md +0 -0
  29. {model_compose-0.4.50 → model_compose-0.4.52}/setup.cfg +0 -0
  30. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/__init__.py +0 -0
  31. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/__init__.py +0 -0
  32. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/cli/interrupt.py +0 -0
  33. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/__init__.py +0 -0
  34. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/__init__.py +0 -0
  35. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/base.py +0 -0
  36. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/component.py +0 -0
  37. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/context.py +0 -0
  38. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/__init__.py +0 -0
  39. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/process_manager.py +0 -0
  40. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/runtime/process_worker.py +0 -0
  41. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/__init__.py +0 -0
  42. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/agent.py +0 -0
  43. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/__init__.py +0 -0
  44. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/audio_converter.py +0 -0
  45. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/base.py +0 -0
  46. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/__init__.py +0 -0
  47. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/common.py +0 -0
  48. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_converter/drivers/ffmpeg.py +0 -0
  49. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/__init__.py +0 -0
  50. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/audio_extractor.py +0 -0
  51. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/base.py +0 -0
  52. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/drivers/__init__.py +0 -0
  53. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/audio_extractor/drivers/ffmpeg.py +0 -0
  54. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/__init__.py +0 -0
  55. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/datasets.py +0 -0
  56. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/__init__.py +0 -0
  57. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/common.py +0 -0
  58. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/huggingface.py +0 -0
  59. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/providers/local.py +0 -0
  60. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/datasets/utils.py +0 -0
  61. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/__init__.py +0 -0
  62. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/base.py +0 -0
  63. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/drivers/__init__.py +0 -0
  64. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/graph_store/graph_store.py +0 -0
  65. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/http_client.py +0 -0
  66. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/image_processor.py +0 -0
  67. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/__init__.py +0 -0
  68. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/base.py +0 -0
  69. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/drivers/__init__.py +0 -0
  70. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/drivers/redis.py +0 -0
  71. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/key_value_store/key_value_store.py +0 -0
  72. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/mcp_client.py +0 -0
  73. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/__init__.py +0 -0
  74. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/__init__.py +0 -0
  75. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/common.py +0 -0
  76. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/huggingface.py +0 -0
  77. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/huggingface_hub.py +0 -0
  78. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/llamacpp.py +0 -0
  79. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/base/unsloth.py +0 -0
  80. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/model.py +0 -0
  81. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/__init__.py +0 -0
  82. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/__init__.py +0 -0
  83. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/huggingface.py +0 -0
  84. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/chat_completion/llamacpp.py +0 -0
  85. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/__init__.py +0 -0
  86. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/common.py +0 -0
  87. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/custom.py +0 -0
  88. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/face_embedding/insightface.py +0 -0
  89. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/__init__.py +0 -0
  90. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/common.py +0 -0
  91. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/custom.py +0 -0
  92. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/flux.py +0 -0
  93. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/hunyuan_image.py +0 -0
  94. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_generation/sdxl.py +0 -0
  95. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_to_text/__init__.py +0 -0
  96. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_to_text/huggingface.py +0 -0
  97. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/__init__.py +0 -0
  98. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/common.py +0 -0
  99. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/custom.py +0 -0
  100. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/esrgan.py +0 -0
  101. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/ldsr.py +0 -0
  102. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/real_esrgan.py +0 -0
  103. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/image_upscale/swinir.py +0 -0
  104. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/speech_to_text/__init__.py +0 -0
  105. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/speech_to_text/huggingface.py +0 -0
  106. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_classification/__init__.py +0 -0
  107. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_classification/huggingface.py +0 -0
  108. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/__init__.py +0 -0
  109. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/huggingface.py +0 -0
  110. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_embedding/llamacpp.py +0 -0
  111. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/__init__.py +0 -0
  112. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/huggingface.py +0 -0
  113. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_generation/llamacpp.py +0 -0
  114. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/__init__.py +0 -0
  115. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/common.py +0 -0
  116. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/custom.py +0 -0
  117. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/model/tasks/text_to_speech/qwen.py +0 -0
  118. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/text_splitter.py +0 -0
  119. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/__init__.py +0 -0
  120. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/base.py +0 -0
  121. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/__init__.py +0 -0
  122. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/chroma.py +0 -0
  123. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/drivers/milvus.py +0 -0
  124. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/vector_store/vector_store.py +0 -0
  125. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/__init__.py +0 -0
  126. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/base.py +0 -0
  127. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/__init__.py +0 -0
  128. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/common.py +0 -0
  129. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/drivers/ffmpeg.py +0 -0
  130. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_converter/video_converter.py +0 -0
  131. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/__init__.py +0 -0
  132. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/base.py +0 -0
  133. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/__init__.py +0 -0
  134. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/ffmpeg.py +0 -0
  135. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/pyscenedetect.py +0 -0
  136. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/drivers/transnetv2.py +0 -0
  137. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/video_scene_detector/video_scene_detector.py +0 -0
  138. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/__init__.py +0 -0
  139. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/base.py +0 -0
  140. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/__init__.py +0 -0
  141. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/drivers/playwright.py +0 -0
  142. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_browser/web_browser.py +0 -0
  143. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/web_scraper.py +0 -0
  144. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/websocket_client.py +0 -0
  145. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/component/services/workflow.py +0 -0
  146. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/__init__.py +0 -0
  147. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/compose.py +0 -0
  148. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/manager.py +0 -0
  149. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/compose/validator.py +0 -0
  150. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/__init__.py +0 -0
  151. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/__init__.py +0 -0
  152. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/adapter.py +0 -0
  153. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/base.py +0 -0
  154. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/__init__.py +0 -0
  155. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/http_server.py +0 -0
  156. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/mcp_server.py +0 -0
  157. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/__init__.py +0 -0
  158. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/base.py +0 -0
  159. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/__init__.py +0 -0
  160. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/redis.py +0 -0
  161. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/adapters/services/queue_subscriber/queue_subscriber.py +0 -0
  162. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/base.py +0 -0
  163. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/controller.py +0 -0
  164. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/__init__.py +0 -0
  165. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/base.py +0 -0
  166. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/drivers/__init__.py +0 -0
  167. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/drivers/redis.py +0 -0
  168. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/queue/queue.py +0 -0
  169. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/__init__.py +0 -0
  170. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/client.py +0 -0
  171. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/http_client.py +0 -0
  172. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/mcp_client.py +0 -0
  173. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runner/runner.py +0 -0
  174. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/__init__.py +0 -0
  175. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/apple_container/__init__.py +0 -0
  176. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/apple_container/apple_container.py +0 -0
  177. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/__init__.py +0 -0
  178. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/context/Dockerfile +0 -0
  179. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/docker/docker.py +0 -0
  180. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/native/__init__.py +0 -0
  181. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/native/native.py +0 -0
  182. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/runtime/specs.py +0 -0
  183. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/__init__.py +0 -0
  184. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/driver.py +0 -0
  185. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/__init__.py +0 -0
  186. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/builder.py +0 -0
  187. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/gradio/driver.py +0 -0
  188. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/static/__init__.py +0 -0
  189. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/static/driver.py +0 -0
  190. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/controller/webui/webui.py +0 -0
  191. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/errors.py +0 -0
  192. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/evaluator/__init__.py +0 -0
  193. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/evaluator/condition.py +0 -0
  194. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/__init__.py +0 -0
  195. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/async_service.py +0 -0
  196. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/compat/__init__.py +0 -0
  197. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/compat/asyncio.py +0 -0
  198. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/ipc_messages.py +0 -0
  199. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/package.py +0 -0
  200. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/process_manager.py +0 -0
  201. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/foundation/process_worker.py +0 -0
  202. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/__init__.py +0 -0
  203. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/base.py +0 -0
  204. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/gateway.py +0 -0
  205. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/__init__.py +0 -0
  206. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/__init__.py +0 -0
  207. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/base.py +0 -0
  208. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/__init__.py +0 -0
  209. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/cloudflare.py +0 -0
  210. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/drivers/ngrok.py +0 -0
  211. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/http_tunnel/http_tunnel.py +0 -0
  212. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/gateway/services/ssh_tunnel.py +0 -0
  213. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/__init__.py +0 -0
  214. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/base.py +0 -0
  215. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/listener.py +0 -0
  216. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/__init__.py +0 -0
  217. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/http_callback.py +0 -0
  218. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/listener/services/http_trigger.py +0 -0
  219. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/__init__.py +0 -0
  220. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/base.py +0 -0
  221. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/logger.py +0 -0
  222. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/logging.py +0 -0
  223. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/__init__.py +0 -0
  224. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/console.py +0 -0
  225. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/logger/services/file.py +0 -0
  226. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/__init__.py +0 -0
  227. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/apple_container/__init__.py +0 -0
  228. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/apple_container/apple_container.py +0 -0
  229. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/docker/__init__.py +0 -0
  230. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/runtime/env.py +0 -0
  231. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/__init__.py +0 -0
  232. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/base.py +0 -0
  233. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/system/system.py +0 -0
  234. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/__init__.py +0 -0
  235. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/active_counter.py +0 -0
  236. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/audio.py +0 -0
  237. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/caching.py +0 -0
  238. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_client.py +0 -0
  239. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_request.py +0 -0
  240. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_response.py +0 -0
  241. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/http_status.py +0 -0
  242. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/image.py +0 -0
  243. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/mcp_client.py +0 -0
  244. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/renderers.py +0 -0
  245. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/resolvers.py +0 -0
  246. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/ssh_client.py +0 -0
  247. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/streamer.py +0 -0
  248. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/streaming.py +0 -0
  249. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/time.py +0 -0
  250. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/url.py +0 -0
  251. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/websocket_client.py +0 -0
  252. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/utils/work_queue.py +0 -0
  253. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/__init__.py +0 -0
  254. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/context.py +0 -0
  255. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/interrupt.py +0 -0
  256. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/__init__.py +0 -0
  257. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/base.py +0 -0
  258. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/__init__.py +0 -0
  259. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/component.py +0 -0
  260. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/delay.py +0 -0
  261. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/filter.py +0 -0
  262. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/if_.py +0 -0
  263. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/random_router.py +0 -0
  264. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/impl/switch.py +0 -0
  265. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/job/job.py +0 -0
  266. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/schema.py +0 -0
  267. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/tool.py +0 -0
  268. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/core/workflow/workflow.py +0 -0
  269. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/__init__.py +0 -0
  270. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/loader.py +0 -0
  271. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/__init__.py +0 -0
  272. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/__init__.py +0 -0
  273. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/action.py +0 -0
  274. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/__init__.py +0 -0
  275. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/agent.py +0 -0
  276. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/audio_converter.py +0 -0
  277. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/audio_extractor.py +0 -0
  278. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/common.py +0 -0
  279. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/__init__.py +0 -0
  280. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/common.py +0 -0
  281. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/datasets.py +0 -0
  282. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/__init__.py +0 -0
  283. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/common.py +0 -0
  284. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/huggingface.py +0 -0
  285. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/datasets/providers/local.py +0 -0
  286. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/__init__.py +0 -0
  287. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/graph_store.py +0 -0
  288. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/__init__.py +0 -0
  289. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/arangodb.py +0 -0
  290. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/common.py +0 -0
  291. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/graph_store/impl/neo4j.py +0 -0
  292. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/http_client.py +0 -0
  293. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/http_server.py +0 -0
  294. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/image_processor.py +0 -0
  295. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/__init__.py +0 -0
  296. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/__init__.py +0 -0
  297. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/common.py +0 -0
  298. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/key_value_store/impl/redis.py +0 -0
  299. {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
  300. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/mcp_client.py +0 -0
  301. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/mcp_server.py +0 -0
  302. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/__init__.py +0 -0
  303. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/__init__.py +0 -0
  304. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/chat_completion.py +0 -0
  305. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/common.py +0 -0
  306. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/__init__.py +0 -0
  307. {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
  308. {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
  309. {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
  310. {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
  311. {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
  312. {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
  313. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/__init__.py +0 -0
  314. {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
  315. {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
  316. {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
  317. {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
  318. {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
  319. {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
  320. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_to_text.py +0 -0
  321. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/__init__.py +0 -0
  322. {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
  323. {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
  324. {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
  325. {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
  326. {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
  327. {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
  328. {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
  329. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/speech_to_text.py +0 -0
  330. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_classification.py +0 -0
  331. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_embedding.py +0 -0
  332. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/impl/text_generation.py +0 -0
  333. {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
  334. {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
  335. {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
  336. {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
  337. {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
  338. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model/model.py +0 -0
  339. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/__init__.py +0 -0
  340. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/__init__.py +0 -0
  341. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/classification.py +0 -0
  342. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/common.py +0 -0
  343. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/impl/sft.py +0 -0
  344. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/model_trainer/model_trainer.py +0 -0
  345. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/shell.py +0 -0
  346. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/text_splitter.py +0 -0
  347. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/__init__.py +0 -0
  348. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/__init__.py +0 -0
  349. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/chroma.py +0 -0
  350. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/common.py +0 -0
  351. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/faiss.py +0 -0
  352. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/milvus.py +0 -0
  353. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/impl/qdrant.py +0 -0
  354. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/vector_store/vector_store.py +0 -0
  355. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/video_converter.py +0 -0
  356. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/video_scene_detector.py +0 -0
  357. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/web_browser.py +0 -0
  358. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/web_scraper.py +0 -0
  359. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/websocket_client.py +0 -0
  360. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/websocket_server.py +0 -0
  361. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/action/impl/workflow.py +0 -0
  362. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/__init__.py +0 -0
  363. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/component.py +0 -0
  364. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/__init__.py +0 -0
  365. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/agent.py +0 -0
  366. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/audio_converter.py +0 -0
  367. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/audio_extractor.py +0 -0
  368. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/common.py +0 -0
  369. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/datasets/__init__.py +0 -0
  370. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/datasets/datasets.py +0 -0
  371. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/__init__.py +0 -0
  372. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/graph_store.py +0 -0
  373. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/__init__.py +0 -0
  374. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/graph_store/impl/common.py +0 -0
  375. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/http_client.py +0 -0
  376. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/http_server.py +0 -0
  377. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/image_processor.py +0 -0
  378. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/__init__.py +0 -0
  379. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/__init__.py +0 -0
  380. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/common.py +0 -0
  381. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/key_value_store/impl/redis.py +0 -0
  382. {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
  383. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/mcp_client.py +0 -0
  384. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/mcp_server.py +0 -0
  385. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/__init__.py +0 -0
  386. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/__init__.py +0 -0
  387. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/chat_completion.py +0 -0
  388. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/common.py +0 -0
  389. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/__init__.py +0 -0
  390. {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
  391. {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
  392. {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
  393. {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
  394. {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
  395. {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
  396. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/__init__.py +0 -0
  397. {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
  398. {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
  399. {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
  400. {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
  401. {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
  402. {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
  403. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_to_text.py +0 -0
  404. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/__init__.py +0 -0
  405. {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
  406. {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
  407. {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
  408. {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
  409. {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
  410. {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
  411. {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
  412. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/speech_to_text.py +0 -0
  413. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_classification.py +0 -0
  414. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_embedding.py +0 -0
  415. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/impl/text_generation.py +0 -0
  416. {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
  417. {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
  418. {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
  419. {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
  420. {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
  421. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model/model.py +0 -0
  422. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/__init__.py +0 -0
  423. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/__init__.py +0 -0
  424. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/classification.py +0 -0
  425. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/common.py +0 -0
  426. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/impl/sft.py +0 -0
  427. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/model_trainer/model_trainer.py +0 -0
  428. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/shell.py +0 -0
  429. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/text_splitter.py +0 -0
  430. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/types.py +0 -0
  431. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/__init__.py +0 -0
  432. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/__init__.py +0 -0
  433. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/chroma.py +0 -0
  434. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/common.py +0 -0
  435. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/faiss.py +0 -0
  436. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/milvus.py +0 -0
  437. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/impl/qdrant.py +0 -0
  438. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/vector_store/vector_store.py +0 -0
  439. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/video_converter.py +0 -0
  440. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/video_scene_detector.py +0 -0
  441. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/__init__.py +0 -0
  442. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/__init__.py +0 -0
  443. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/chrome.py +0 -0
  444. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/impl/playwright.py +0 -0
  445. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_browser/web_browser.py +0 -0
  446. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/web_scraper.py +0 -0
  447. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/websocket_client.py +0 -0
  448. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/websocket_server.py +0 -0
  449. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/component/impl/workflow.py +0 -0
  450. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/compose.py +0 -0
  451. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/__init__.py +0 -0
  452. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/__init__.py +0 -0
  453. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/adapter.py +0 -0
  454. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/common.py +0 -0
  455. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/__init__.py +0 -0
  456. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/http_server.py +0 -0
  457. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/mcp_server.py +0 -0
  458. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/__init__.py +0 -0
  459. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/__init__.py +0 -0
  460. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/common.py +0 -0
  461. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/redis.py +0 -0
  462. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/queue_subscriber.py +0 -0
  463. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/adapter/impl/types.py +0 -0
  464. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/controller.py +0 -0
  465. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/impl/__init__.py +0 -0
  466. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/__init__.py +0 -0
  467. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/__init__.py +0 -0
  468. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/common.py +0 -0
  469. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/impl/redis.py +0 -0
  470. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/queue/queue.py +0 -0
  471. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/__init__.py +0 -0
  472. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/__init__.py +0 -0
  473. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/common.py +0 -0
  474. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/dynamic.py +0 -0
  475. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/gradio.py +0 -0
  476. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/impl/static.py +0 -0
  477. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/controller/webui/webui.py +0 -0
  478. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/__init__.py +0 -0
  479. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/gateway.py +0 -0
  480. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/__init__.py +0 -0
  481. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/common.py +0 -0
  482. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/__init__.py +0 -0
  483. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/http_tunnel.py +0 -0
  484. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/__init__.py +0 -0
  485. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/cloudflare.py +0 -0
  486. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/common.py +0 -0
  487. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/ngrok.py +0 -0
  488. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/ssh_tunnel.py +0 -0
  489. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/gateway/impl/types.py +0 -0
  490. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/__init__.py +0 -0
  491. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/__init__.py +0 -0
  492. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/common.py +0 -0
  493. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/component.py +0 -0
  494. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/delay.py +0 -0
  495. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/filter.py +0 -0
  496. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/if_.py +0 -0
  497. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/random_router.py +0 -0
  498. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/switch.py +0 -0
  499. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/impl/types.py +0 -0
  500. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/job/job.py +0 -0
  501. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/__init__.py +0 -0
  502. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/__init__.py +0 -0
  503. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/common.py +0 -0
  504. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/http_callback.py +0 -0
  505. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/http_trigger.py +0 -0
  506. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/impl/types.py +0 -0
  507. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/listener/listener.py +0 -0
  508. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/__init__.py +0 -0
  509. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/__init__.py +0 -0
  510. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/common.py +0 -0
  511. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/console.py +0 -0
  512. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/file.py +0 -0
  513. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/impl/types.py +0 -0
  514. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/logger/logger.py +0 -0
  515. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/operator/__init__.py +0 -0
  516. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/operator/condition.py +0 -0
  517. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/__init__.py +0 -0
  518. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/__init__.py +0 -0
  519. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/apple_container.py +0 -0
  520. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/common.py +0 -0
  521. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/embedded.py +0 -0
  522. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/native.py +0 -0
  523. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/process.py +0 -0
  524. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/impl/types.py +0 -0
  525. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/runtime/runtime.py +0 -0
  526. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/__init__.py +0 -0
  527. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/common.py +0 -0
  528. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/system/impl/docker_compose.py +0 -0
  529. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/__init__.py +0 -0
  530. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/http.py +0 -0
  531. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/transport/ssh.py +0 -0
  532. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/schema/workflow.py +0 -0
  533. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/__init__.py +0 -0
  534. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/enum.py +0 -0
  535. {model_compose-0.4.50 → model_compose-0.4.52}/src/mindor/dsl/utils/path.py +0 -0
  536. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/dependency_links.txt +0 -0
  537. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/entry_points.txt +0 -0
  538. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/requires.txt +0 -0
  539. {model_compose-0.4.50 → model_compose-0.4.52}/src/model_compose.egg-info/top_level.txt +0 -0
  540. {model_compose-0.4.50 → model_compose-0.4.52}/tests/test_cli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-compose
3
- Version: 0.4.50
3
+ Version: 0.4.52
4
4
  Summary: model-compose: Declarative AI Workflow Orchestrator
5
5
  Author-email: Hanyeol Cho <hanyeol.cho@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "model-compose"
3
- version = "0.4.50"
3
+ version = "0.4.52"
4
4
  description = "model-compose: Declarative AI Workflow Orchestrator"
5
5
  authors = [
6
6
  { name = "Hanyeol Cho", email = "hanyeol.cho@gmail.com" }
@@ -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
- if verbose:
69
- import traceback
70
- click.echo(f"❌ Error: {e}\n\nTraceback:", err=True)
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
- self.config.uri,
307
+ url,
307
308
  auth=auth,
308
309
  connection_timeout=parse_duration(self.config.timeout).total_seconds()
309
310
  )
@@ -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 run_command_streaming
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
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:
@@ -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 run_command_streaming
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming, run_command
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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.from_host_port(
320
+ client = await CdpClient.discover(
321
321
  self.config.host, self.config.port, self.config.target_index
322
322
  )
323
323
  return ChromeBrowserSession(client)
@@ -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 run_command_streaming
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
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 run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env)
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,
@@ -1 +1,2 @@
1
1
  from .docker_compose import *
2
+ from .docker import *
@@ -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()
@@ -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
- process = await asyncio.create_subprocess_exec(
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 process.returncode != 0:
32
- error = stderr.decode("utf-8", errors="replace").strip()
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
- process = await asyncio.create_subprocess_exec(
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 process.returncode != 0:
48
- error = stderr.decode("utf-8", errors="replace").strip()
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
- self._websocket, _ = await WebSocketClient(self.ws_url).connect()
30
- self._reader_task = asyncio.create_task(self._reader_loop())
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 from_host_port(
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
- async with aiohttp.ClientSession() as session:
103
- async with session.get(f"http://{host}:{port}/json") as response:
104
- targets = await response.json(content_type=None)
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
- ws_url = page_targets[target_index]["webSocketDebuggerUrl"]
117
- instance = cls(ws_url, timeout=timeout)
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
- uri: str = Field(default="bolt://localhost:7687", description="Neo4j connection URI (bolt:// or neo4j://).")
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.")
@@ -1,2 +1,3 @@
1
1
  from .common import *
2
2
  from .docker_compose import *
3
+ from .docker import *
@@ -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.")
@@ -2,3 +2,4 @@ from enum import Enum
2
2
 
3
3
  class SystemType(str, Enum):
4
4
  DOCKER_COMPOSE = "docker-compose"
5
+ DOCKER = "docker"
@@ -5,6 +5,7 @@ from .impl import *
5
5
  SystemConfig = Annotated[
6
6
  Union[
7
7
  DockerComposeSystemConfig,
8
+ DockerSystemConfig,
8
9
  ],
9
10
  Field(discriminator="type")
10
11
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-compose
3
- Version: 0.4.50
3
+ Version: 0.4.52
4
4
  Summary: model-compose: Declarative AI Workflow Orchestrator
5
5
  Author-email: Hanyeol Cho <hanyeol.cho@gmail.com>
6
6
  License-Expression: MIT
@@ -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