model-compose 0.4.44__tar.gz → 0.4.45__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 (512) hide show
  1. {model_compose-0.4.44 → model_compose-0.4.45}/PKG-INFO +1 -1
  2. {model_compose-0.4.44 → model_compose-0.4.45}/pyproject.toml +1 -1
  3. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/__init__.py +1 -0
  4. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/http_client.py +25 -19
  5. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/http_server.py +25 -18
  6. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_generation/llamacpp.py +0 -1
  7. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/drivers/chroma.py +2 -2
  8. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/drivers/milvus.py +2 -2
  9. model_compose-0.4.45/src/mindor/core/component/services/websocket_client.py +147 -0
  10. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/websocket_server.py +11 -41
  11. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/http_server.py +37 -35
  12. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/gradio/builder.py +17 -26
  13. model_compose-0.4.45/src/mindor/core/utils/audio.py +62 -0
  14. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/cdp_client.py +1 -1
  15. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/http_client.py +17 -14
  16. model_compose-0.4.45/src/mindor/core/utils/http_response.py +47 -0
  17. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/renderers.py +14 -1
  18. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/resolvers.py +2 -2
  19. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/streaming.py +25 -0
  20. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/websocket_client.py +29 -2
  21. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/schema.py +1 -1
  22. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/action.py +2 -1
  23. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/__init__.py +1 -0
  24. model_compose-0.4.45/src/mindor/dsl/schema/action/impl/websocket_client.py +11 -0
  25. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/component.py +1 -0
  26. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/__init__.py +1 -0
  27. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/types.py +1 -0
  28. model_compose-0.4.45/src/mindor/dsl/schema/component/impl/websocket_client.py +13 -0
  29. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/common.py +1 -1
  30. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/workflow.py +3 -2
  31. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/PKG-INFO +1 -1
  32. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/SOURCES.txt +3 -0
  33. model_compose-0.4.44/src/mindor/core/utils/audio.py +0 -12
  34. model_compose-0.4.44/src/mindor/core/utils/http_response.py +0 -28
  35. {model_compose-0.4.44 → model_compose-0.4.45}/LICENSE +0 -0
  36. {model_compose-0.4.44 → model_compose-0.4.45}/README.md +0 -0
  37. {model_compose-0.4.44 → model_compose-0.4.45}/setup.cfg +0 -0
  38. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/__init__.py +0 -0
  39. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/cli/__init__.py +0 -0
  40. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/cli/compose.py +0 -0
  41. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/cli/interrupt.py +0 -0
  42. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/__init__.py +0 -0
  43. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/__init__.py +0 -0
  44. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/base.py +0 -0
  45. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/component.py +0 -0
  46. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/context.py +0 -0
  47. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/runtime/__init__.py +0 -0
  48. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/runtime/process_manager.py +0 -0
  49. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/runtime/process_worker.py +0 -0
  50. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/agent.py +0 -0
  51. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/__init__.py +0 -0
  52. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/audio_converter.py +0 -0
  53. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/base.py +0 -0
  54. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/drivers/__init__.py +0 -0
  55. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/drivers/common.py +0 -0
  56. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_converter/drivers/ffmpeg.py +0 -0
  57. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_extractor/__init__.py +0 -0
  58. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_extractor/audio_extractor.py +0 -0
  59. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_extractor/base.py +0 -0
  60. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_extractor/drivers/__init__.py +0 -0
  61. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/audio_extractor/drivers/ffmpeg.py +0 -0
  62. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/__init__.py +0 -0
  63. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/datasets.py +0 -0
  64. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/providers/__init__.py +0 -0
  65. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/providers/common.py +0 -0
  66. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/providers/huggingface.py +0 -0
  67. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/providers/local.py +0 -0
  68. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/datasets/utils.py +0 -0
  69. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/image_processor.py +0 -0
  70. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/key_value_store/__init__.py +0 -0
  71. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/key_value_store/base.py +0 -0
  72. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/key_value_store/drivers/__init__.py +0 -0
  73. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/key_value_store/drivers/redis.py +0 -0
  74. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/key_value_store/key_value_store.py +0 -0
  75. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/mcp_client.py +0 -0
  76. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/mcp_server.py +0 -0
  77. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/__init__.py +0 -0
  78. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/__init__.py +0 -0
  79. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/common.py +0 -0
  80. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/huggingface.py +0 -0
  81. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/huggingface_hub.py +0 -0
  82. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/llamacpp.py +0 -0
  83. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/base/unsloth.py +0 -0
  84. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/model.py +0 -0
  85. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/__init__.py +0 -0
  86. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/chat_completion/__init__.py +0 -0
  87. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/chat_completion/huggingface.py +0 -0
  88. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/chat_completion/llamacpp.py +0 -0
  89. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/face_embedding/__init__.py +0 -0
  90. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/face_embedding/common.py +0 -0
  91. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/face_embedding/custom.py +0 -0
  92. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/face_embedding/insightface.py +0 -0
  93. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/__init__.py +0 -0
  94. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/common.py +0 -0
  95. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/custom.py +0 -0
  96. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/flux.py +0 -0
  97. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/hunyuan_image.py +0 -0
  98. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_generation/sdxl.py +0 -0
  99. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_to_text/__init__.py +0 -0
  100. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_to_text/huggingface.py +0 -0
  101. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/__init__.py +0 -0
  102. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/common.py +0 -0
  103. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/custom.py +0 -0
  104. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/esrgan.py +0 -0
  105. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/ldsr.py +0 -0
  106. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/real_esrgan.py +0 -0
  107. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/image_upscale/swinir.py +0 -0
  108. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/speech_to_text/__init__.py +0 -0
  109. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/speech_to_text/huggingface.py +0 -0
  110. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_classification/__init__.py +0 -0
  111. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_classification/huggingface.py +0 -0
  112. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_embedding/__init__.py +0 -0
  113. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_embedding/huggingface.py +0 -0
  114. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_embedding/llamacpp.py +0 -0
  115. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_generation/__init__.py +0 -0
  116. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_generation/huggingface.py +0 -0
  117. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_to_speech/__init__.py +0 -0
  118. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_to_speech/common.py +0 -0
  119. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_to_speech/custom.py +0 -0
  120. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/model/tasks/text_to_speech/qwen.py +0 -0
  121. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/shell.py +0 -0
  122. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/text_splitter.py +0 -0
  123. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/__init__.py +0 -0
  124. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/base.py +0 -0
  125. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/drivers/__init__.py +0 -0
  126. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/vector_store/vector_store.py +0 -0
  127. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/__init__.py +0 -0
  128. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/base.py +0 -0
  129. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/drivers/__init__.py +0 -0
  130. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/drivers/common.py +0 -0
  131. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/drivers/ffmpeg.py +0 -0
  132. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_converter/video_converter.py +0 -0
  133. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/__init__.py +0 -0
  134. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/base.py +0 -0
  135. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/drivers/__init__.py +0 -0
  136. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/drivers/ffmpeg.py +0 -0
  137. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/drivers/pyscenedetect.py +0 -0
  138. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/drivers/transnetv2.py +0 -0
  139. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/video_scene_detector/video_scene_detector.py +0 -0
  140. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/web_browser.py +0 -0
  141. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/web_scraper.py +0 -0
  142. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/component/services/workflow.py +0 -0
  143. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/compose/__init__.py +0 -0
  144. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/compose/compose.py +0 -0
  145. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/compose/manager.py +0 -0
  146. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/compose/validator.py +0 -0
  147. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/__init__.py +0 -0
  148. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/__init__.py +0 -0
  149. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/adapter.py +0 -0
  150. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/base.py +0 -0
  151. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/__init__.py +0 -0
  152. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/mcp_server.py +0 -0
  153. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/queue_subscriber/__init__.py +0 -0
  154. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/queue_subscriber/base.py +0 -0
  155. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/__init__.py +0 -0
  156. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/queue_subscriber/drivers/redis.py +0 -0
  157. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/adapters/services/queue_subscriber/queue_subscriber.py +0 -0
  158. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/base.py +0 -0
  159. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/controller.py +0 -0
  160. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/queue/__init__.py +0 -0
  161. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/queue/base.py +0 -0
  162. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/queue/drivers/__init__.py +0 -0
  163. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/queue/drivers/redis.py +0 -0
  164. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/queue/queue.py +0 -0
  165. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runner/__init__.py +0 -0
  166. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runner/client.py +0 -0
  167. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runner/http_client.py +0 -0
  168. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runner/mcp_client.py +0 -0
  169. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runner/runner.py +0 -0
  170. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/__init__.py +0 -0
  171. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/apple_container/__init__.py +0 -0
  172. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/apple_container/apple_container.py +0 -0
  173. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/docker/__init__.py +0 -0
  174. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/docker/context/Dockerfile +0 -0
  175. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/docker/docker.py +0 -0
  176. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/native/__init__.py +0 -0
  177. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/native/native.py +0 -0
  178. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/runtime/specs.py +0 -0
  179. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/__init__.py +0 -0
  180. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/driver.py +0 -0
  181. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/gradio/__init__.py +0 -0
  182. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/gradio/driver.py +0 -0
  183. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/static/__init__.py +0 -0
  184. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/static/driver.py +0 -0
  185. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/controller/webui/webui.py +0 -0
  186. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/errors.py +0 -0
  187. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/evaluator/__init__.py +0 -0
  188. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/evaluator/condition.py +0 -0
  189. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/__init__.py +0 -0
  190. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/async_service.py +0 -0
  191. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/compat/__init__.py +0 -0
  192. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/compat/asyncio.py +0 -0
  193. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/ipc_messages.py +0 -0
  194. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/package.py +0 -0
  195. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/process_manager.py +0 -0
  196. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/foundation/process_worker.py +0 -0
  197. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/__init__.py +0 -0
  198. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/base.py +0 -0
  199. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/gateway.py +0 -0
  200. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/__init__.py +0 -0
  201. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/__init__.py +0 -0
  202. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/base.py +0 -0
  203. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/drivers/__init__.py +0 -0
  204. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/drivers/cloudflare.py +0 -0
  205. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/drivers/ngrok.py +0 -0
  206. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/http_tunnel/http_tunnel.py +0 -0
  207. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/gateway/services/ssh_tunnel.py +0 -0
  208. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/__init__.py +0 -0
  209. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/base.py +0 -0
  210. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/listener.py +0 -0
  211. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/services/__init__.py +0 -0
  212. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/services/http_callback.py +0 -0
  213. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/listener/services/http_trigger.py +0 -0
  214. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/__init__.py +0 -0
  215. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/base.py +0 -0
  216. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/logger.py +0 -0
  217. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/logging.py +0 -0
  218. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/services/__init__.py +0 -0
  219. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/services/console.py +0 -0
  220. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/logger/services/file.py +0 -0
  221. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/__init__.py +0 -0
  222. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/apple_container/__init__.py +0 -0
  223. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/apple_container/apple_container.py +0 -0
  224. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/docker/__init__.py +0 -0
  225. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/docker/docker.py +0 -0
  226. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/runtime/env.py +0 -0
  227. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/system/__init__.py +0 -0
  228. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/system/base.py +0 -0
  229. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/system/services/__init__.py +0 -0
  230. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/system/services/docker_compose.py +0 -0
  231. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/system/system.py +0 -0
  232. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/__init__.py +0 -0
  233. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/active_counter.py +0 -0
  234. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/caching.py +0 -0
  235. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/http_request.py +0 -0
  236. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/http_status.py +0 -0
  237. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/image.py +0 -0
  238. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/mcp_client.py +0 -0
  239. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/shell.py +0 -0
  240. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/ssh_client.py +0 -0
  241. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/streamer.py +0 -0
  242. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/time.py +0 -0
  243. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/url.py +0 -0
  244. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/utils/work_queue.py +0 -0
  245. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/__init__.py +0 -0
  246. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/context.py +0 -0
  247. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/interrupt.py +0 -0
  248. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/__init__.py +0 -0
  249. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/base.py +0 -0
  250. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/__init__.py +0 -0
  251. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/component.py +0 -0
  252. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/delay.py +0 -0
  253. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/filter.py +0 -0
  254. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/if_.py +0 -0
  255. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/random_router.py +0 -0
  256. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/impl/switch.py +0 -0
  257. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/job/job.py +0 -0
  258. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/tool.py +0 -0
  259. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/core/workflow/workflow.py +0 -0
  260. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/__init__.py +0 -0
  261. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/loader.py +0 -0
  262. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/__init__.py +0 -0
  263. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/__init__.py +0 -0
  264. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/agent.py +0 -0
  265. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/audio_converter.py +0 -0
  266. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/audio_extractor.py +0 -0
  267. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/common.py +0 -0
  268. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/__init__.py +0 -0
  269. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/common.py +0 -0
  270. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/datasets.py +0 -0
  271. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/providers/__init__.py +0 -0
  272. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/providers/common.py +0 -0
  273. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/providers/huggingface.py +0 -0
  274. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/datasets/providers/local.py +0 -0
  275. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/http_client.py +0 -0
  276. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/http_server.py +0 -0
  277. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/image_processor.py +0 -0
  278. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/key_value_store/__init__.py +0 -0
  279. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/key_value_store/impl/__init__.py +0 -0
  280. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/key_value_store/impl/common.py +0 -0
  281. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/key_value_store/impl/redis.py +0 -0
  282. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/key_value_store/key_value_store.py +0 -0
  283. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/mcp_client.py +0 -0
  284. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/mcp_server.py +0 -0
  285. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/__init__.py +0 -0
  286. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/__init__.py +0 -0
  287. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/chat_completion.py +0 -0
  288. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/common.py +0 -0
  289. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/__init__.py +0 -0
  290. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/face_embedding.py +0 -0
  291. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/__init__.py +0 -0
  292. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/common.py +0 -0
  293. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/dlib.py +0 -0
  294. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/facenet.py +0 -0
  295. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/face_embedding/impl/insightface.py +0 -0
  296. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/__init__.py +0 -0
  297. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/image_generation.py +0 -0
  298. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/__init__.py +0 -0
  299. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/common.py +0 -0
  300. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/flux.py +0 -0
  301. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
  302. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_generation/impl/sdxl.py +0 -0
  303. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_to_text.py +0 -0
  304. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/__init__.py +0 -0
  305. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/image_upscale.py +0 -0
  306. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/__init__.py +0 -0
  307. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/common.py +0 -0
  308. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
  309. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
  310. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
  311. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/image_upscale/impl/swinir.py +0 -0
  312. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/speech_to_text.py +0 -0
  313. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_classification.py +0 -0
  314. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_embedding.py +0 -0
  315. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_generation.py +0 -0
  316. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/__init__.py +0 -0
  317. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
  318. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/common.py +0 -0
  319. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
  320. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
  321. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model/model.py +0 -0
  322. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/__init__.py +0 -0
  323. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/impl/__init__.py +0 -0
  324. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/impl/classification.py +0 -0
  325. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/impl/common.py +0 -0
  326. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/impl/sft.py +0 -0
  327. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/model_trainer/model_trainer.py +0 -0
  328. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/shell.py +0 -0
  329. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/text_splitter.py +0 -0
  330. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/__init__.py +0 -0
  331. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/__init__.py +0 -0
  332. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/chroma.py +0 -0
  333. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/common.py +0 -0
  334. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/faiss.py +0 -0
  335. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/milvus.py +0 -0
  336. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/impl/qdrant.py +0 -0
  337. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/vector_store/vector_store.py +0 -0
  338. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/video_converter.py +0 -0
  339. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/video_scene_detector.py +0 -0
  340. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/web_browser.py +0 -0
  341. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/web_scraper.py +0 -0
  342. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/websocket_server.py +0 -0
  343. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/action/impl/workflow.py +0 -0
  344. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/__init__.py +0 -0
  345. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/agent.py +0 -0
  346. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/audio_converter.py +0 -0
  347. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/audio_extractor.py +0 -0
  348. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/common.py +0 -0
  349. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/datasets/__init__.py +0 -0
  350. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/datasets/datasets.py +0 -0
  351. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/http_client.py +0 -0
  352. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/http_server.py +0 -0
  353. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/image_processor.py +0 -0
  354. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/key_value_store/__init__.py +0 -0
  355. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/key_value_store/impl/__init__.py +0 -0
  356. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/key_value_store/impl/common.py +0 -0
  357. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/key_value_store/impl/redis.py +0 -0
  358. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/key_value_store/key_value_store.py +0 -0
  359. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/mcp_client.py +0 -0
  360. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/mcp_server.py +0 -0
  361. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/__init__.py +0 -0
  362. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/__init__.py +0 -0
  363. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/chat_completion.py +0 -0
  364. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/common.py +0 -0
  365. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/__init__.py +0 -0
  366. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/face_embedding.py +0 -0
  367. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/__init__.py +0 -0
  368. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/common.py +0 -0
  369. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/dlib.py +0 -0
  370. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/facenet.py +0 -0
  371. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/face_embedding/impl/insightface.py +0 -0
  372. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/__init__.py +0 -0
  373. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/image_generation.py +0 -0
  374. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/__init__.py +0 -0
  375. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/common.py +0 -0
  376. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/flux.py +0 -0
  377. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/hunyuan_image.py +0 -0
  378. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_generation/impl/sdxl.py +0 -0
  379. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_to_text.py +0 -0
  380. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/__init__.py +0 -0
  381. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/image_upscale.py +0 -0
  382. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/__init__.py +0 -0
  383. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/common.py +0 -0
  384. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/esrgan.py +0 -0
  385. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/ldsr.py +0 -0
  386. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/real_esrgan.py +0 -0
  387. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/image_upscale/impl/swinir.py +0 -0
  388. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/speech_to_text.py +0 -0
  389. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_classification.py +0 -0
  390. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_embedding.py +0 -0
  391. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_generation.py +0 -0
  392. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/__init__.py +0 -0
  393. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/__init__.py +0 -0
  394. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/common.py +0 -0
  395. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/impl/qwen.py +0 -0
  396. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/impl/text_to_speech/text_to_speech.py +0 -0
  397. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model/model.py +0 -0
  398. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/__init__.py +0 -0
  399. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/impl/__init__.py +0 -0
  400. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/impl/classification.py +0 -0
  401. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/impl/common.py +0 -0
  402. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/impl/sft.py +0 -0
  403. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/model_trainer/model_trainer.py +0 -0
  404. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/shell.py +0 -0
  405. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/text_splitter.py +0 -0
  406. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/__init__.py +0 -0
  407. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/__init__.py +0 -0
  408. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/chroma.py +0 -0
  409. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/common.py +0 -0
  410. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/faiss.py +0 -0
  411. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/milvus.py +0 -0
  412. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/impl/qdrant.py +0 -0
  413. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/vector_store/vector_store.py +0 -0
  414. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/video_converter.py +0 -0
  415. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/video_scene_detector.py +0 -0
  416. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/web_browser.py +0 -0
  417. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/web_scraper.py +0 -0
  418. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/websocket_server.py +0 -0
  419. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/component/impl/workflow.py +0 -0
  420. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/compose.py +0 -0
  421. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/__init__.py +0 -0
  422. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/__init__.py +0 -0
  423. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/adapter.py +0 -0
  424. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/common.py +0 -0
  425. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/__init__.py +0 -0
  426. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/http_server.py +0 -0
  427. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/mcp_server.py +0 -0
  428. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/__init__.py +0 -0
  429. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/__init__.py +0 -0
  430. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/impl/redis.py +0 -0
  431. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/queue_subscriber/queue_subscriber.py +0 -0
  432. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/adapter/impl/types.py +0 -0
  433. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/controller.py +0 -0
  434. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/impl/__init__.py +0 -0
  435. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/queue/__init__.py +0 -0
  436. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/queue/impl/__init__.py +0 -0
  437. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/queue/impl/common.py +0 -0
  438. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/queue/impl/redis.py +0 -0
  439. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/queue/queue.py +0 -0
  440. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/__init__.py +0 -0
  441. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/impl/__init__.py +0 -0
  442. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/impl/common.py +0 -0
  443. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/impl/dynamic.py +0 -0
  444. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/impl/gradio.py +0 -0
  445. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/impl/static.py +0 -0
  446. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/controller/webui/webui.py +0 -0
  447. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/__init__.py +0 -0
  448. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/gateway.py +0 -0
  449. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/__init__.py +0 -0
  450. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/common.py +0 -0
  451. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/__init__.py +0 -0
  452. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/http_tunnel.py +0 -0
  453. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/__init__.py +0 -0
  454. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/cloudflare.py +0 -0
  455. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/common.py +0 -0
  456. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/http_tunnel/impl/ngrok.py +0 -0
  457. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/ssh_tunnel.py +0 -0
  458. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/gateway/impl/types.py +0 -0
  459. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/__init__.py +0 -0
  460. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/__init__.py +0 -0
  461. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/common.py +0 -0
  462. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/component.py +0 -0
  463. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/delay.py +0 -0
  464. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/filter.py +0 -0
  465. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/if_.py +0 -0
  466. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/random_router.py +0 -0
  467. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/switch.py +0 -0
  468. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/impl/types.py +0 -0
  469. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/job/job.py +0 -0
  470. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/__init__.py +0 -0
  471. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/impl/__init__.py +0 -0
  472. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/impl/common.py +0 -0
  473. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/impl/http_callback.py +0 -0
  474. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/impl/http_trigger.py +0 -0
  475. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/impl/types.py +0 -0
  476. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/listener/listener.py +0 -0
  477. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/__init__.py +0 -0
  478. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/impl/__init__.py +0 -0
  479. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/impl/common.py +0 -0
  480. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/impl/console.py +0 -0
  481. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/impl/file.py +0 -0
  482. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/impl/types.py +0 -0
  483. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/logger/logger.py +0 -0
  484. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/operator/__init__.py +0 -0
  485. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/operator/condition.py +0 -0
  486. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/__init__.py +0 -0
  487. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/__init__.py +0 -0
  488. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/apple_container.py +0 -0
  489. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/common.py +0 -0
  490. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/docker.py +0 -0
  491. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/embedded.py +0 -0
  492. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/native.py +0 -0
  493. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/process.py +0 -0
  494. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/impl/types.py +0 -0
  495. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/runtime/runtime.py +0 -0
  496. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/__init__.py +0 -0
  497. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/impl/__init__.py +0 -0
  498. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/impl/common.py +0 -0
  499. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/impl/docker_compose.py +0 -0
  500. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/impl/types.py +0 -0
  501. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/system/system.py +0 -0
  502. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/transport/__init__.py +0 -0
  503. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/transport/http.py +0 -0
  504. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/schema/transport/ssh.py +0 -0
  505. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/utils/__init__.py +0 -0
  506. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/utils/enum.py +0 -0
  507. {model_compose-0.4.44 → model_compose-0.4.45}/src/mindor/dsl/utils/path.py +0 -0
  508. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/dependency_links.txt +0 -0
  509. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/entry_points.txt +0 -0
  510. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/requires.txt +0 -0
  511. {model_compose-0.4.44 → model_compose-0.4.45}/src/model_compose.egg-info/top_level.txt +0 -0
  512. {model_compose-0.4.44 → model_compose-0.4.45}/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.44
3
+ Version: 0.4.45
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.44"
3
+ version = "0.4.45"
4
4
  description = "model-compose: Declarative AI Workflow Orchestrator"
5
5
  authors = [
6
6
  { name = "Hanyeol Cho", email = "hanyeol.cho@gmail.com" }
@@ -1,6 +1,7 @@
1
1
  from .http_server import *
2
2
  from .http_client import *
3
3
  from .websocket_server import *
4
+ from .websocket_client import *
4
5
  from .mcp_server import *
5
6
  from .mcp_client import *
6
7
  from .model import *
@@ -1,12 +1,12 @@
1
1
  from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
2
- from collections.abc import AsyncIterator
3
2
  from abc import ABC, abstractmethod
4
3
  from mindor.dsl.schema.component import HttpClientComponentConfig
5
4
  from mindor.dsl.schema.action import ActionConfig, HttpClientActionConfig, HttpClientCompletionType, HttpClientCompletionConfig
6
5
  from mindor.dsl.schema.transport.http import HttpStreamFormat
7
6
  from mindor.core.listener import HttpCallbackListener
8
- from mindor.core.utils.http_client import HttpClient, HttpEventStreamResource
7
+ from mindor.core.utils.http_client import HttpClient
9
8
  from mindor.core.utils.http_status import is_status_code_matched
9
+ from mindor.core.utils.streaming import StreamResource
10
10
  from mindor.core.utils.time import parse_duration
11
11
  from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
12
12
  from ..context import ComponentActionContext
@@ -18,11 +18,11 @@ class HttpClientCompletion(ABC):
18
18
  self.config: HttpClientCompletionConfig = config
19
19
 
20
20
  @abstractmethod
21
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
21
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
22
22
  pass
23
23
 
24
24
  class HttpClientPollingCompletion(HttpClientCompletion):
25
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
25
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
26
26
  url_or_path = await self._resolve_url_or_path(context)
27
27
  method = await context.render_variable(self.config.method)
28
28
  params = await context.render_variable(self.config.params)
@@ -36,7 +36,7 @@ class HttpClientPollingCompletion(HttpClientCompletion):
36
36
  await asyncio.sleep(interval.total_seconds())
37
37
 
38
38
  while datetime.now(timezone.utc) < deadline:
39
- response, status_code = await client.request(url_or_path, method, params, body, headers, raise_on_error=False)
39
+ response, status_code = await client.request(url_or_path, method, params, body, headers, raise_on_error=False, streaming=streaming)
40
40
  context.register_source("result", response)
41
41
 
42
42
  status = (await context.render_variable(self.config.status)) if self.config.status else None
@@ -62,7 +62,7 @@ class HttpClientPollingCompletion(HttpClientCompletion):
62
62
  return await context.render_variable(self.config.endpoint)
63
63
 
64
64
  class HttpClientCallbackCompletion(HttpClientCompletion):
65
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
65
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
66
66
  callback_id = await context.render_variable(self.config.wait_for)
67
67
  future: asyncio.Future = asyncio.get_running_loop().create_future()
68
68
  HttpCallbackListener.register_pending_future(callback_id, future)
@@ -95,26 +95,32 @@ class HttpClientAction:
95
95
  body = await context.render_variable(self.config.body)
96
96
  headers = await context.render_variable(self.config.headers)
97
97
 
98
- response, result = await client.request(url_or_path, method, params, body, headers), None
98
+ is_streaming = context.contains_variable_reference("response[]", self.config.output)
99
+ response, result = await client.request(url_or_path, method, params, body, headers, streaming=is_streaming), None
99
100
 
100
- if isinstance(response, HttpEventStreamResource) and context.contains_variable_reference("response[]", self.config.output):
101
- async def _stream_output_generator(stream: HttpEventStreamResource):
101
+ if isinstance(response, StreamResource) and is_streaming:
102
+ async def _stream_output_generator(stream: StreamResource):
102
103
  async for chunk in stream:
103
- context.register_source("response[]", self._convert_stream_chunk(chunk))
104
- yield await context.render_variable(self.config.output, ignore_files=True)
104
+ context.register_source("response[]", self._convert_stream_chunk(chunk, self.config.stream_format))
105
+ chunk = await context.render_variable(self.config.output, ignore_files=True)
106
+ if chunk is not None:
107
+ yield chunk
105
108
 
106
109
  return _stream_output_generator(response)
107
110
 
108
111
  context.register_source("response", response)
109
112
 
110
113
  if self.completion:
111
- result = await self.completion.run(context, client)
114
+ is_streaming = context.contains_variable_reference("result[]", self.config.output)
115
+ result = await self.completion.run(context, client, streaming=is_streaming)
112
116
 
113
- if isinstance(result, HttpEventStreamResource) and context.contains_variable_reference("result[]", self.config.output):
114
- async def _stream_output_generator(stream: HttpEventStreamResource):
117
+ if isinstance(result, StreamResource) and is_streaming:
118
+ async def _stream_output_generator(stream: StreamResource):
115
119
  async for chunk in stream:
116
- context.register_source("result[]", self._convert_stream_chunk(chunk))
117
- yield await context.render_variable(self.config.output, ignore_files=True)
120
+ context.register_source("result[]", self._convert_stream_chunk(chunk, self.config.stream_format))
121
+ chunk = await context.render_variable(self.config.output, ignore_files=True)
122
+ if chunk is not None:
123
+ yield chunk
118
124
 
119
125
  return _stream_output_generator(result)
120
126
 
@@ -128,14 +134,14 @@ class HttpClientAction:
128
134
 
129
135
  return await context.render_variable(self.config.endpoint)
130
136
 
131
- def _convert_stream_chunk(self, chunk: bytes) -> Any:
132
- if self.config.stream_format == HttpStreamFormat.JSON:
137
+ def _convert_stream_chunk(self, chunk: bytes, format: HttpStreamFormat) -> Any:
138
+ if format == HttpStreamFormat.JSON:
133
139
  try:
134
140
  return json.loads(chunk)
135
141
  except:
136
142
  return None
137
143
 
138
- if self.config.stream_format == HttpStreamFormat.TEXT:
144
+ if format == HttpStreamFormat.TEXT:
139
145
  return chunk.decode("utf-8", errors="replace")
140
146
 
141
147
  return chunk
@@ -4,8 +4,9 @@ from mindor.dsl.schema.component import HttpServerComponentConfig
4
4
  from mindor.dsl.schema.action import ActionConfig, HttpServerActionConfig, HttpServerCompletionType, HttpServerCompletionConfig
5
5
  from mindor.dsl.schema.transport.http import HttpStreamFormat
6
6
  from mindor.core.listener import HttpCallbackListener
7
- from mindor.core.utils.http_client import HttpClient, HttpEventStreamResource
7
+ from mindor.core.utils.http_client import HttpClient
8
8
  from mindor.core.utils.http_status import is_status_code_matched
9
+ from mindor.core.utils.streaming import StreamResource
9
10
  from mindor.core.utils.time import parse_duration
10
11
  from mindor.core.utils.shell import run_command_streaming
11
12
  from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
@@ -18,11 +19,11 @@ class HttpServerCompletion(ABC):
18
19
  self.config: HttpServerCompletionConfig = config
19
20
 
20
21
  @abstractmethod
21
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
22
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
22
23
  pass
23
24
 
24
25
  class HttpServerPollingCompletion(HttpServerCompletion):
25
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
26
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
26
27
  path = await context.render_variable(self.config.path)
27
28
  method = await context.render_variable(self.config.method)
28
29
  params = await context.render_variable(self.config.params)
@@ -36,7 +37,7 @@ class HttpServerPollingCompletion(HttpServerCompletion):
36
37
  await asyncio.sleep(interval.total_seconds())
37
38
 
38
39
  while datetime.now(timezone.utc) < deadline:
39
- response, status_code = await client.request(path or "", method, params, body, headers, raise_on_error=False)
40
+ response, status_code = await client.request(path or "", method, params, body, headers, raise_on_error=False, streaming=streaming)
40
41
  context.register_source("result", response)
41
42
 
42
43
  status = (await context.render_variable(self.config.status)) if self.config.status else None
@@ -56,7 +57,7 @@ class HttpServerPollingCompletion(HttpServerCompletion):
56
57
  raise TimeoutError(f"Polling timed out after {timeout}.")
57
58
 
58
59
  class HttpServerCallbackCompletion(HttpServerCompletion):
59
- async def run(self, context: ComponentActionContext, client: HttpClient) -> Any:
60
+ async def run(self, context: ComponentActionContext, client: HttpClient, streaming: bool = False) -> Any:
60
61
  callback_id = await context.render_variable(self.config.wait_for) if self.config.wait_for else "__callback__"
61
62
  future: asyncio.Future = asyncio.get_running_loop().create_future()
62
63
  HttpCallbackListener.register_pending_future(callback_id, future)
@@ -89,26 +90,32 @@ class HttpServerAction:
89
90
  body = await context.render_variable(self.config.body)
90
91
  headers = await context.render_variable(self.config.headers)
91
92
 
92
- response, result = await client.request(path or "", method, params, body, headers), None
93
+ is_streaming = context.contains_variable_reference("response[]", self.config.output)
94
+ response, result = await client.request(path or "", method, params, body, headers, streaming=is_streaming), None
93
95
 
94
- if isinstance(response, HttpEventStreamResource) and context.contains_variable_reference("response[]", self.config.output):
95
- async def _stream_output_generator(stream: HttpEventStreamResource):
96
+ if isinstance(response, StreamResource) and is_streaming:
97
+ async def _stream_output_generator(stream: StreamResource):
96
98
  async for chunk in stream:
97
- context.register_source("response[]", self._convert_stream_chunk(chunk))
98
- yield await context.render_variable(self.config.output, ignore_files=True)
99
+ context.register_source("response[]", self._convert_stream_chunk(chunk, self.config.stream_format))
100
+ chunk = await context.render_variable(self.config.output, ignore_files=True)
101
+ if chunk is not None:
102
+ yield chunk
99
103
 
100
104
  return _stream_output_generator(response)
101
105
 
102
106
  context.register_source("response", response)
103
107
 
104
108
  if self.completion:
105
- result = await self.completion.run(context, client)
109
+ is_streaming = context.contains_variable_reference("result[]", self.config.output)
110
+ result = await self.completion.run(context, client, streaming=is_streaming)
106
111
 
107
- if isinstance(result, HttpEventStreamResource) and context.contains_variable_reference("result[]", self.config.output):
108
- async def _stream_output_generator(stream: HttpEventStreamResource):
112
+ if isinstance(result, StreamResource) and is_streaming:
113
+ async def _stream_output_generator(stream: StreamResource):
109
114
  async for chunk in stream:
110
- context.register_source("result[]", self._convert_stream_chunk(chunk))
111
- yield await context.render_variable(self.config.output, ignore_files=True)
115
+ context.register_source("result[]", self._convert_stream_chunk(chunk, self.config.stream_format))
116
+ chunk = await context.render_variable(self.config.output, ignore_files=True)
117
+ if chunk is not None:
118
+ yield chunk
112
119
 
113
120
  return _stream_output_generator(result)
114
121
 
@@ -116,14 +123,14 @@ class HttpServerAction:
116
123
 
117
124
  return (await context.render_variable(self.config.output, ignore_files=True)) if self.config.output else (result or response)
118
125
 
119
- def _convert_stream_chunk(self, chunk: bytes) -> Any:
120
- if self.config.stream_format == HttpStreamFormat.JSON:
126
+ def _convert_stream_chunk(self, chunk: bytes, format: HttpStreamFormat) -> Any:
127
+ if format == HttpStreamFormat.JSON:
121
128
  try:
122
129
  return json.loads(chunk)
123
130
  except:
124
131
  return None
125
132
 
126
- if self.config.stream_format == HttpStreamFormat.TEXT:
133
+ if format == HttpStreamFormat.TEXT:
127
134
  return chunk.decode("utf-8", errors="replace")
128
135
 
129
136
  return chunk
@@ -3,7 +3,6 @@ from typing import TYPE_CHECKING
3
3
 
4
4
  from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
5
5
  from mindor.dsl.schema.action import ModelActionConfig, TextGenerationModelActionConfig
6
- from mindor.core.utils.streamer import AsyncStreamer
7
6
  from ...base import ModelTaskType, ModelDriver, register_model_task_service
8
7
  from ...base import LlamaCppModelTaskService, ComponentActionContext
9
8
  import asyncio
@@ -3,8 +3,8 @@ from typing import TYPE_CHECKING
3
3
 
4
4
  from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Callable, Any
5
5
  from mindor.dsl.schema.component import VectorStoreComponentConfig
6
- from mindor.dsl.schema.action import VectorStoreActionConfig, ChromaVectorStoreActionConfig, VectorStoreActionMethod, VectorStoreFilterCondition, VectorStoreFilterOperator
7
- from mindor.core.utils.streamer import AsyncStreamer
6
+ from mindor.dsl.schema.action import VectorStoreActionConfig, ChromaVectorStoreActionConfig
7
+ from mindor.dsl.schema.action import VectorStoreActionMethod, VectorStoreFilterCondition, VectorStoreFilterOperator
8
8
  from mindor.core.utils.time import parse_duration
9
9
  from mindor.core.logger import logging
10
10
  from ..base import VectorStoreService, VectorStoreDriver, register_vector_store_service
@@ -3,8 +3,8 @@ from typing import TYPE_CHECKING
3
3
 
4
4
  from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
5
5
  from mindor.dsl.schema.component import VectorStoreComponentConfig
6
- from mindor.dsl.schema.action import VectorStoreActionConfig, MilvusVectorStoreActionConfig, VectorStoreActionMethod, VectorStoreFilterCondition, VectorStoreFilterOperator
7
- from mindor.core.utils.streamer import AsyncStreamer
6
+ from mindor.dsl.schema.action import VectorStoreActionConfig, MilvusVectorStoreActionConfig
7
+ from mindor.dsl.schema.action import VectorStoreActionMethod, VectorStoreFilterCondition, VectorStoreFilterOperator
8
8
  from mindor.core.utils.time import parse_duration
9
9
  from mindor.core.logger import logging
10
10
  from ..base import VectorStoreService, VectorStoreDriver, register_vector_store_service
@@ -0,0 +1,147 @@
1
+ from typing import Any, Optional
2
+ from mindor.dsl.schema.component import WebSocketClientComponentConfig
3
+ from mindor.dsl.schema.action import ActionConfig, WebSocketClientActionConfig
4
+ from mindor.dsl.schema.action.impl.websocket_server import WebSocketReceiveFormat
5
+ from mindor.core.utils.websocket_client import WebSocketClient, WebSocketConnection
6
+ from mindor.core.utils.streaming import BytesStreamResource
7
+ from mindor.core.utils.time import parse_duration
8
+ from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
9
+ from ..context import ComponentActionContext
10
+ import json
11
+
12
+ class WebSocketClientAction:
13
+ def __init__(self, config: WebSocketClientActionConfig):
14
+ self.config: WebSocketClientActionConfig = config
15
+
16
+ async def run(self, context: ComponentActionContext, client: WebSocketClient) -> Any:
17
+ path = await context.render_variable(self.config.path)
18
+ params = await context.render_variable(self.config.params)
19
+ headers = await context.render_variable(self.config.headers)
20
+ message = await context.render_variable(self.config.message)
21
+
22
+ format = await context.render_variable(self.config.receive.format)
23
+ collect = await context.render_variable(self.config.receive.collect)
24
+ timeout_str = await context.render_variable(self.config.receive.timeout)
25
+ timeout = parse_duration(timeout_str).total_seconds() if timeout_str else None
26
+
27
+ connection, owned = await client.connect(
28
+ path=path,
29
+ params=params or None,
30
+ headers=headers or None,
31
+ receive_timeout=timeout
32
+ )
33
+
34
+ try:
35
+ if message:
36
+ await self._send(connection, message)
37
+
38
+ if context.contains_variable_reference("response[]", self.config.output):
39
+ stream = self._receive_stream(connection, format, context, owned)
40
+
41
+ return stream
42
+
43
+ if collect:
44
+ response = await self._receive_collect(connection, format)
45
+ else:
46
+ response = await self._receive_single(connection, format)
47
+ except:
48
+ if owned:
49
+ await connection.close()
50
+ raise
51
+
52
+ if owned:
53
+ await connection.close()
54
+
55
+ if format == WebSocketReceiveFormat.BINARY and isinstance(response, (bytes, bytearray)):
56
+ response = BytesStreamResource(bytes(response), "application/octet-stream")
57
+
58
+ context.register_source("response", response)
59
+ return (await context.render_variable(self.config.output, ignore_files=True)) if self.config.output else response
60
+
61
+ async def _send(self, connection: WebSocketConnection, message: Any) -> None:
62
+ if isinstance(message, (dict, list)):
63
+ await connection.send_message(message)
64
+ elif isinstance(message, bytes):
65
+ await connection.send_bytes(message)
66
+ else:
67
+ await connection.websocket.send(str(message))
68
+
69
+ async def _receive_collect(self, connection: WebSocketConnection, format: WebSocketReceiveFormat) -> Any:
70
+ if format == WebSocketReceiveFormat.BINARY:
71
+ buffer = bytearray()
72
+ async for frame in connection.receive_frames():
73
+ if isinstance(frame, bytes):
74
+ buffer.extend(frame)
75
+ return bytes(buffer)
76
+ items = []
77
+ async for frame in connection.receive_frames():
78
+ if isinstance(frame, str):
79
+ if format == WebSocketReceiveFormat.JSON:
80
+ try:
81
+ items.append(json.loads(frame))
82
+ except json.JSONDecodeError:
83
+ pass
84
+ else:
85
+ items.append(frame)
86
+ return items
87
+
88
+ async def _receive_single(self, connection: WebSocketConnection, format: WebSocketReceiveFormat) -> Any:
89
+ async for frame in connection.receive_frames():
90
+ frame = self._decode_frame(frame, format)
91
+ if frame is not None:
92
+ return frame
93
+ return None
94
+
95
+ async def _receive_stream(self, connection: WebSocketConnection, format: WebSocketReceiveFormat, context: ComponentActionContext, owned: bool = False):
96
+ try:
97
+ async for frame in connection.receive_frames():
98
+ frame = self._decode_frame(frame, format)
99
+ if frame is not None:
100
+ context.register_source("response[]", frame)
101
+ yield await context.render_variable(self.config.output, ignore_files=True)
102
+ finally:
103
+ if owned:
104
+ await connection.close()
105
+
106
+ def _decode_frame(self, frame: Any, format: WebSocketReceiveFormat) -> Any:
107
+ if format == WebSocketReceiveFormat.BINARY and isinstance(frame, bytes):
108
+ return frame
109
+ if format == WebSocketReceiveFormat.JSON and isinstance(frame, str):
110
+ try:
111
+ return json.loads(frame)
112
+ except json.JSONDecodeError:
113
+ return None
114
+ if format == WebSocketReceiveFormat.TEXT and isinstance(frame, str):
115
+ return frame
116
+ return None
117
+
118
+ @register_component(ComponentType.WEBSOCKET_CLIENT)
119
+ class WebSocketClientComponent(ComponentService):
120
+ def __init__(
121
+ self,
122
+ id: str,
123
+ config: WebSocketClientComponentConfig,
124
+ global_configs: ComponentGlobalConfigs,
125
+ daemon: bool
126
+ ):
127
+ super().__init__(id, config, global_configs, daemon)
128
+ self.client: Optional[WebSocketClient] = None
129
+
130
+ async def _start(self) -> None:
131
+ self.client = WebSocketClient(
132
+ base_url=self.config.base_url,
133
+ ping_interval=parse_duration(self.config.ping_interval).total_seconds() if self.config.ping_interval else None,
134
+ ping_timeout=parse_duration(self.config.ping_timeout).total_seconds() if self.config.ping_timeout else None,
135
+ additional_headers=self.config.headers or None,
136
+ params=self.config.params or None
137
+ )
138
+ await super()._start()
139
+
140
+ async def _stop(self) -> None:
141
+ await super()._stop()
142
+ if self.client:
143
+ await self.client.close()
144
+ self.client = None
145
+
146
+ async def _run(self, action: ActionConfig, context: ComponentActionContext) -> Any:
147
+ return await WebSocketClientAction(action).run(context, self.client)
@@ -1,4 +1,4 @@
1
- from typing import Any, Optional, Dict, Tuple
1
+ from typing import Any, Optional
2
2
  from mindor.dsl.schema.component import WebSocketServerComponentConfig
3
3
  from mindor.dsl.schema.action import ActionConfig, WebSocketServerActionConfig
4
4
  from mindor.dsl.schema.action.impl.websocket_server import WebSocketReceiveFormat
@@ -10,41 +10,11 @@ from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, regi
10
10
  from ..context import ComponentActionContext
11
11
  import asyncio, json
12
12
 
13
- class WebSocketConnector:
14
- def __init__(self, client: WebSocketClient, params: Optional[Dict[str, Any]] = None):
15
- self._client: WebSocketClient = client
16
- self._params: Optional[Dict[str, Any]] = params
17
- self._connection: Optional[WebSocketConnection] = None
18
-
19
- async def connect(
20
- self,
21
- path: Optional[str] = None,
22
- params: Optional[Dict[str, Any]] = None,
23
- headers: Optional[Dict[str, str]] = None,
24
- receive_timeout: Optional[float] = None
25
- ) -> Tuple[WebSocketConnection, bool]:
26
- if path or params or headers: # new owned connection per request
27
- connection = await self._client.connect(
28
- path=path,
29
- params={ **(self._params or {}), **(params or {}) } or None,
30
- headers=headers,
31
- receive_timeout=receive_timeout
32
- )
33
- return connection, True
34
- if not self._connection or not self._connection.is_connected():
35
- self._connection = await self._client.connect()
36
- return self._connection, False
37
-
38
- async def close(self) -> None:
39
- if self._connection:
40
- await self._connection.close()
41
- self._connection = None
42
-
43
13
  class WebSocketServerAction:
44
14
  def __init__(self, config: WebSocketServerActionConfig):
45
15
  self.config: WebSocketServerActionConfig = config
46
16
 
47
- async def run(self, context: ComponentActionContext, client: WebSocketConnector) -> Any:
17
+ async def run(self, context: ComponentActionContext, client: WebSocketClient) -> Any:
48
18
  path = await context.render_variable(self.config.path)
49
19
  params = await context.render_variable(self.config.params)
50
20
  headers = await context.render_variable(self.config.headers)
@@ -67,7 +37,9 @@ class WebSocketServerAction:
67
37
  await self._send(connection, message)
68
38
 
69
39
  if context.contains_variable_reference("response[]", self.config.output):
70
- return self._receive_stream(connection, format, context, owned)
40
+ stream = self._receive_stream(connection, format, context, owned)
41
+
42
+ return stream
71
43
 
72
44
  if collect:
73
45
  response = await self._receive_collect(connection, format)
@@ -155,7 +127,7 @@ class WebSocketServerComponent(ComponentService):
155
127
  ):
156
128
  super().__init__(id, config, global_configs, daemon)
157
129
 
158
- self.client: Optional[WebSocketConnector] = None
130
+ self.client: Optional[WebSocketClient] = None
159
131
 
160
132
  async def _setup(self) -> None:
161
133
  if self.config.manage.scripts.install:
@@ -173,13 +145,11 @@ class WebSocketServerComponent(ComponentService):
173
145
 
174
146
  async def _start(self) -> None:
175
147
  base_url = f"ws://localhost:{self.config.port}" + (self.config.base_path or "")
176
- self.client = WebSocketConnector(
177
- WebSocketClient(
178
- base_url=base_url,
179
- ping_interval=parse_duration(self.config.ping_interval).total_seconds() if self.config.ping_interval else None,
180
- ping_timeout=parse_duration(self.config.ping_timeout).total_seconds() if self.config.ping_timeout else None,
181
- additional_headers=self.config.headers or None
182
- ),
148
+ self.client = WebSocketClient(
149
+ base_url=base_url,
150
+ ping_interval=parse_duration(self.config.ping_interval).total_seconds() if self.config.ping_interval else None,
151
+ ping_timeout=parse_duration(self.config.ping_timeout).total_seconds() if self.config.ping_timeout else None,
152
+ additional_headers=self.config.headers or None,
183
153
  params=self.config.params or None
184
154
  )
185
155
  await super()._start()