model-compose 0.3.8__tar.gz → 0.3.9__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 (216) hide show
  1. {model_compose-0.3.8 → model_compose-0.3.9}/PKG-INFO +1 -1
  2. {model_compose-0.3.8 → model_compose-0.3.9}/pyproject.toml +1 -1
  3. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/http_server.py +11 -9
  4. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/mcp_server.py +11 -9
  5. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/shell.py +11 -1
  6. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/http_server.py +26 -17
  7. model_compose-0.3.9/src/mindor/dsl/schema/component/impl/mcp_server.py +51 -0
  8. model_compose-0.3.9/src/mindor/dsl/schema/component/impl/shell.py +49 -0
  9. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/PKG-INFO +1 -1
  10. model_compose-0.3.8/src/mindor/dsl/schema/component/impl/mcp_server.py +0 -27
  11. model_compose-0.3.8/src/mindor/dsl/schema/component/impl/shell.py +0 -19
  12. {model_compose-0.3.8 → model_compose-0.3.9}/LICENSE +0 -0
  13. {model_compose-0.3.8 → model_compose-0.3.9}/README.md +0 -0
  14. {model_compose-0.3.8 → model_compose-0.3.9}/setup.cfg +0 -0
  15. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/__init__.py +0 -0
  16. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/cli/__init__.py +0 -0
  17. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/cli/compose.py +0 -0
  18. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/__init__.py +0 -0
  19. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/__init__.py +0 -0
  20. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/base.py +0 -0
  21. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/component.py +0 -0
  22. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/context.py +0 -0
  23. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/__init__.py +0 -0
  24. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/http_client.py +0 -0
  25. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/mcp_client.py +0 -0
  26. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/__init__.py +0 -0
  27. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/base.py +0 -0
  28. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/model.py +0 -0
  29. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/__init__.py +0 -0
  30. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/summarization.py +0 -0
  31. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/text_classification.py +0 -0
  32. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/text_embedding.py +0 -0
  33. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/text_generation.py +0 -0
  34. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/model/tasks/translation.py +0 -0
  35. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/text_splitter.py +0 -0
  36. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/component/services/workflow.py +0 -0
  37. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/compose/__init__.py +0 -0
  38. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/compose/compose.py +0 -0
  39. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/compose/manager.py +0 -0
  40. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/__init__.py +0 -0
  41. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/base.py +0 -0
  42. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/controller.py +0 -0
  43. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runner/__init__.py +0 -0
  44. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runner/client.py +0 -0
  45. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runner/http_client.py +0 -0
  46. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runner/mcp_client.py +0 -0
  47. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runner/runner.py +0 -0
  48. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/__init__.py +0 -0
  49. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/docker/__init__.py +0 -0
  50. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/docker/context/Dockerfile +0 -0
  51. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/docker/docker.py +0 -0
  52. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/native/__init__.py +0 -0
  53. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/native/native.py +0 -0
  54. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/runtime/specs.py +0 -0
  55. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/services/__init__.py +0 -0
  56. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/services/http_server.py +0 -0
  57. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/services/mcp_server.py +0 -0
  58. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/webui/__init__.py +0 -0
  59. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/webui/gradio.py +0 -0
  60. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/controller/webui/webui.py +0 -0
  61. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/__init__.py +0 -0
  62. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/base.py +0 -0
  63. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/gateway.py +0 -0
  64. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/services/__init__.py +0 -0
  65. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/services/http_tunnel.py +0 -0
  66. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/gateway/services/ssh_tunnel.py +0 -0
  67. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/listener/__init__.py +0 -0
  68. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/listener/base.py +0 -0
  69. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/listener/listener.py +0 -0
  70. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/listener/services/__init__.py +0 -0
  71. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/listener/services/http_callback.py +0 -0
  72. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/__init__.py +0 -0
  73. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/base.py +0 -0
  74. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/logger.py +0 -0
  75. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/logging.py +0 -0
  76. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/services/__init__.py +0 -0
  77. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/services/console.py +0 -0
  78. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/logger/services/file.py +0 -0
  79. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/runtime/__init__.py +0 -0
  80. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/runtime/docker/__init__.py +0 -0
  81. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/runtime/docker/docker.py +0 -0
  82. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/runtime/env.py +0 -0
  83. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/services/__init__.py +0 -0
  84. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/services/async_service.py +0 -0
  85. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/__init__.py +0 -0
  86. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/caching.py +0 -0
  87. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/http_client.py +0 -0
  88. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/http_request.py +0 -0
  89. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/http_status.py +0 -0
  90. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/image.py +0 -0
  91. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/mcp_client.py +0 -0
  92. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/renderers.py +0 -0
  93. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/resolvers.py +0 -0
  94. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/shell.py +0 -0
  95. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/ssh_client.py +0 -0
  96. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/streamer.py +0 -0
  97. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/streaming.py +0 -0
  98. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/time.py +0 -0
  99. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/utils/workqueue.py +0 -0
  100. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/__init__.py +0 -0
  101. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/context.py +0 -0
  102. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/__init__.py +0 -0
  103. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/base.py +0 -0
  104. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/__init__.py +0 -0
  105. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/action.py +0 -0
  106. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/delay.py +0 -0
  107. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/if_.py +0 -0
  108. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/random_router.py +0 -0
  109. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/impl/switch.py +0 -0
  110. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/job/job.py +0 -0
  111. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/schema.py +0 -0
  112. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/core/workflow/workflow.py +0 -0
  113. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/__init__.py +0 -0
  114. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/loader.py +0 -0
  115. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/__init__.py +0 -0
  116. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/__init__.py +0 -0
  117. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/action.py +0 -0
  118. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/__init__.py +0 -0
  119. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/common.py +0 -0
  120. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/http_client.py +0 -0
  121. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/http_server.py +0 -0
  122. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/mcp_client.py +0 -0
  123. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/mcp_server.py +0 -0
  124. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/__init__.py +0 -0
  125. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/__init__.py +0 -0
  126. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/common.py +0 -0
  127. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/summarization.py +0 -0
  128. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/text_classification.py +0 -0
  129. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/text_embedding.py +0 -0
  130. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/text_generation.py +0 -0
  131. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/impl/translation.py +0 -0
  132. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/model/model.py +0 -0
  133. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/shell.py +0 -0
  134. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/text_splitter.py +0 -0
  135. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/action/impl/workflow.py +0 -0
  136. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/__init__.py +0 -0
  137. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/component.py +0 -0
  138. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/__init__.py +0 -0
  139. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/common.py +0 -0
  140. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/http_client.py +0 -0
  141. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/mcp_client.py +0 -0
  142. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/__init__.py +0 -0
  143. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/__init__.py +0 -0
  144. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/common.py +0 -0
  145. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/summarization.py +0 -0
  146. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/text_classification.py +0 -0
  147. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/text_embedding.py +0 -0
  148. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/text_generation.py +0 -0
  149. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/translation.py +0 -0
  150. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/impl/types.py +0 -0
  151. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/model/model.py +0 -0
  152. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/text_splitter.py +0 -0
  153. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/types.py +0 -0
  154. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/component/impl/workflow.py +0 -0
  155. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/compose.py +0 -0
  156. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/__init__.py +0 -0
  157. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/controller.py +0 -0
  158. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/impl/__init__.py +0 -0
  159. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/impl/common.py +0 -0
  160. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/impl/http_server.py +0 -0
  161. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/impl/mcp_server.py +0 -0
  162. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/impl/types.py +0 -0
  163. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/__init__.py +0 -0
  164. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/impl/__init__.py +0 -0
  165. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/impl/common.py +0 -0
  166. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/impl/dynamic.py +0 -0
  167. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/impl/gradio.py +0 -0
  168. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/impl/static.py +0 -0
  169. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/controller/webui/webui.py +0 -0
  170. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/__init__.py +0 -0
  171. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/gateway.py +0 -0
  172. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/impl/__init__.py +0 -0
  173. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/impl/common.py +0 -0
  174. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/impl/http_tunnel.py +0 -0
  175. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/impl/ssh_tunnel.py +0 -0
  176. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/gateway/impl/types.py +0 -0
  177. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/__init__.py +0 -0
  178. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/__init__.py +0 -0
  179. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/action.py +0 -0
  180. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/common.py +0 -0
  181. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/delay.py +0 -0
  182. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/if_.py +0 -0
  183. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/random_router.py +0 -0
  184. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/switch.py +0 -0
  185. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/impl/types.py +0 -0
  186. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/job/job.py +0 -0
  187. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/__init__.py +0 -0
  188. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/impl/__init__.py +0 -0
  189. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/impl/common.py +0 -0
  190. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/impl/http_callback.py +0 -0
  191. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/impl/types.py +0 -0
  192. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/listener/listener.py +0 -0
  193. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/__init__.py +0 -0
  194. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/impl/__init__.py +0 -0
  195. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/impl/common.py +0 -0
  196. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/impl/console.py +0 -0
  197. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/impl/file.py +0 -0
  198. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/impl/types.py +0 -0
  199. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/logger/logger.py +0 -0
  200. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/__init__.py +0 -0
  201. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/impl/__init__.py +0 -0
  202. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/impl/common.py +0 -0
  203. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/impl/docker.py +0 -0
  204. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/impl/native.py +0 -0
  205. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/impl/types.py +0 -0
  206. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/runtime/runtime.py +0 -0
  207. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/schema/workflow.py +0 -0
  208. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/utils/__init__.py +0 -0
  209. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/utils/annotation.py +0 -0
  210. {model_compose-0.3.8 → model_compose-0.3.9}/src/mindor/dsl/utils/enum.py +0 -0
  211. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/SOURCES.txt +0 -0
  212. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/dependency_links.txt +0 -0
  213. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/entry_points.txt +0 -0
  214. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/requires.txt +0 -0
  215. {model_compose-0.3.8 → model_compose-0.3.9}/src/model_compose.egg-info/top_level.txt +0 -0
  216. {model_compose-0.3.8 → model_compose-0.3.9}/tests/test_cli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-compose
3
- Version: 0.3.8
3
+ Version: 0.3.9
4
4
  Summary: model-compose: Declarative AI Model and 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.3.8"
3
+ version = "0.3.9"
4
4
  description = "model-compose: Declarative AI Model and Workflow Orchestrator"
5
5
  authors = [
6
6
  { name = "Hanyeol Cho", email = "hanyeol.cho@gmail.com" }
@@ -105,16 +105,18 @@ class HttpServerComponent(ComponentService):
105
105
  self.client: Optional[HttpClient] = None
106
106
 
107
107
  async def _setup(self) -> None:
108
- if self.config.commands.install:
109
- for command in self.config.commands.install:
110
- await run_command_streaming(command, self.config.working_dir, self.config.env)
108
+ if self.config.manage.scripts.install:
109
+ for command in self.config.manage.scripts.install:
110
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
111
111
 
112
- if self.config.commands.build:
113
- for command in self.config.commands.build:
114
- await run_command_streaming(command, self.config.working_dir, self.config.env)
112
+ if self.config.manage.scripts.build:
113
+ for command in self.config.manage.scripts.build:
114
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
115
115
 
116
116
  async def _teardown(self):
117
- pass
117
+ if self.config.manage.scripts.clean:
118
+ for command in self.config.manage.scripts.clean:
119
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
118
120
 
119
121
  async def _start(self) -> None:
120
122
  base_url = f"http://localhost:{self.config.port}" + (self.config.base_path or "")
@@ -127,8 +129,8 @@ class HttpServerComponent(ComponentService):
127
129
  self.client = None
128
130
 
129
131
  async def _serve(self) -> None:
130
- if self.config.commands.start:
131
- await run_command_streaming(self.config.commands.start, self.config.working_dir, self.config.env, block=False)
132
+ if self.config.manage.scripts.start:
133
+ await run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env, block=False)
132
134
 
133
135
  async def _shutdown(self) -> None:
134
136
  pass
@@ -36,16 +36,18 @@ class McpServerComponent(ComponentService):
36
36
  self.client: Optional[McpClient] = None
37
37
 
38
38
  async def _setup(self) -> None:
39
- if self.config.commands.install:
40
- for command in self.config.commands.install:
41
- await run_command_streaming(command, self.config.working_dir, self.config.env)
39
+ if self.config.manage.scripts.install:
40
+ for command in self.config.manage.scripts.install:
41
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
42
42
 
43
- if self.config.commands.build:
44
- for command in self.config.commands.build:
45
- await run_command_streaming(command, self.config.working_dir, self.config.env)
43
+ if self.config.manage.scripts.build:
44
+ for command in self.config.manage.scripts.build:
45
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
46
46
 
47
47
  async def _teardown(self):
48
- pass
48
+ if self.config.manage.scripts.clean:
49
+ for command in self.config.manage.scripts.clean:
50
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
49
51
 
50
52
  async def _start(self) -> None:
51
53
  base_url = f"http://localhost:{self.config.port}" + (self.config.base_path or "")
@@ -58,8 +60,8 @@ class McpServerComponent(ComponentService):
58
60
  self.client = None
59
61
 
60
62
  async def _serve(self) -> None:
61
- if self.config.commands.start:
62
- await run_command_streaming(self.config.commands.start, self.config.working_dir, self.config.env, block=False)
63
+ if self.config.manage.scripts.start:
64
+ await run_command_streaming(self.config.manage.scripts.start, self.config.manage.working_dir, self.config.manage.env, block=False)
63
65
 
64
66
  async def _shutdown(self) -> None:
65
67
  pass
@@ -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
4
+ from mindor.core.utils.shell import run_command_streaming, run_command
5
5
  from ..base import ComponentService, ComponentType, ComponentGlobalConfigs, register_component
6
6
  from ..context import ComponentActionContext
7
7
  import os
@@ -48,5 +48,15 @@ class ShellComponent(ComponentService):
48
48
  def __init__(self, id: str, config: ShellComponentConfig, global_configs: ComponentGlobalConfigs, daemon: bool):
49
49
  super().__init__(id, config, global_configs, daemon)
50
50
 
51
+ async def _setup(self) -> None:
52
+ if self.config.manage.scripts.install:
53
+ for command in self.config.manage.scripts.install:
54
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
55
+
56
+ async def _teardown(self):
57
+ if self.config.manage.scripts.clean:
58
+ for command in self.config.manage.scripts.clean:
59
+ await run_command_streaming(command, self.config.manage.working_dir, self.config.manage.env)
60
+
51
61
  async def _run(self, action: ActionConfig, context: ComponentActionContext) -> Any:
52
62
  return await ShellAction(action, self.config.base_dir, self.config.env).run(context)
@@ -4,34 +4,43 @@ from pydantic import model_validator
4
4
  from mindor.dsl.schema.action import HttpServerActionConfig
5
5
  from .common import ComponentType, CommonComponentConfig
6
6
 
7
- class HttpServerCommands(BaseModel):
8
- install: Optional[List[List[str]]] = Field(default=None, description="One or more commands to install dependencies.")
9
- build: Optional[List[List[str]]] = Field(default=None, description="One or more commands to build the server.")
10
- start: Optional[List[str]] = Field(default=None, description="Command to start the server.")
7
+ class HttpServerManageScripts(BaseModel):
8
+ install: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to install dependencies.")
9
+ build: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to build the server.")
10
+ clean: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to clean the server environment.")
11
+ start: Optional[List[str]] = Field(default=None, description="Script to start the server.")
11
12
 
12
13
  @model_validator(mode="before")
13
- def normalize_commands(cls, values):
14
- for key in [ "install", "build" ]:
15
- command = values.get(key)
16
- if command and isinstance(command, list) and all(isinstance(token, str) for token in command):
17
- values[key] = [ command ]
14
+ def normalize_scripts(cls, values):
15
+ for key in [ "install", "build", "clean" ]:
16
+ script = values.get(key)
17
+ if script and isinstance(script, list) and all(isinstance(token, str) for token in script):
18
+ values[key] = [ script ]
19
+ return values
20
+
21
+ class HttpServerManageConfig(BaseModel):
22
+ scripts: HttpServerManageScripts = Field(..., description="Shell scripts used to install, build, clean, and start the server.")
23
+ working_dir: Optional[str] = Field(default=None, description="Working directory for the scripts.")
24
+ env: Dict[str, str] = Field(default_factory=dict, description="Environment variables to set when executing the scripts.")
25
+
26
+ @model_validator(mode="before")
27
+ def inflate_single_script(cls, values: Dict[str, Any]):
28
+ if "scripts" not in values:
29
+ values["scripts"] = { key: values.pop(key) for key in HttpServerManageScripts.model_fields.keys() if key in values }
18
30
  return values
19
31
 
20
32
  class HttpServerComponentConfig(CommonComponentConfig):
21
33
  type: Literal[ComponentType.HTTP_SERVER]
22
- commands: HttpServerCommands = Field(..., description="Shell commands used to install, build, and start the server.")
23
- working_dir: Optional[str] = Field(default=None, description="Working directory for the commands.")
24
- env: Dict[str, str] = Field(default_factory=dict, description="Environment variables to set when executing the commands.")
25
- port: int = Field(default=8000, ge=1, le=65535, description="Port on which the server will listen.")
34
+ manage: HttpServerManageConfig = Field(default_factory=HttpServerManageConfig, description="Configuration used to manage the HTTP server lifecycle.")
35
+ port: int = Field(default=8000, ge=1, le=65535, description="Port on which the HTTP server will listen for incoming requests.")
26
36
  base_path: Optional[str] = Field(default=None, description="Base path to prefix all HTTP routes exposed by this component.")
27
37
  headers: Dict[str, Any] = Field(default_factory=dict, description="Headers to be included in all outgoing HTTP requests.")
28
38
  actions: Dict[str, HttpServerActionConfig] = Field(default_factory=dict)
29
39
 
30
40
  @model_validator(mode="before")
31
- def inflate_single_command(cls, values: Dict[str, Any]):
32
- if "commands" not in values:
33
- if "command" in values:
34
- values["commands"] = { "start": values.pop("command") }
41
+ def inflate_single_script(cls, values: Dict[str, Any]):
42
+ if "manage" not in values:
43
+ values["manage"] = { key: values.pop(key) for key in HttpServerManageScripts.model_fields.keys() if key in values }
35
44
  return values
36
45
 
37
46
  @model_validator(mode="before")
@@ -0,0 +1,51 @@
1
+ from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
2
+ from pydantic import BaseModel, Field
3
+ from pydantic import model_validator
4
+ from mindor.dsl.schema.action import McpServerActionConfig
5
+ from .common import ComponentType, CommonComponentConfig
6
+
7
+ class McpServerManageScripts(BaseModel):
8
+ install: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to install dependencies.")
9
+ build: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to build the server.")
10
+ clean: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to clean the server environment.")
11
+ start: Optional[List[str]] = Field(default=None, description="Script to start the server.")
12
+
13
+ @model_validator(mode="before")
14
+ def normalize_scripts(cls, values):
15
+ for key in [ "install", "build", "clean" ]:
16
+ script = values.get(key)
17
+ if script and isinstance(script, list) and all(isinstance(token, str) for token in script):
18
+ values[key] = [ script ]
19
+ return values
20
+
21
+ class McpServerManageConfig(BaseModel):
22
+ scripts: McpServerManageScripts = Field(..., description="Shell scripts used to install, build, clean, and start the server.")
23
+ working_dir: Optional[str] = Field(default=None, description="Working directory for the scripts.")
24
+ env: Dict[str, str] = Field(default_factory=dict, description="Environment variables to set when executing the scripts.")
25
+
26
+ @model_validator(mode="before")
27
+ def inflate_single_script(cls, values: Dict[str, Any]):
28
+ if "scripts" not in values:
29
+ values["scripts"] = { key: values.pop(key) for key in McpServerManageScripts.model_fields.keys() if key in values }
30
+ return values
31
+
32
+ class McpServerComponentConfig(CommonComponentConfig):
33
+ type: Literal[ComponentType.MCP_SERVER]
34
+ manage: McpServerManageConfig = Field(default_factory=McpServerManageConfig, description="Configuration used to manage the MCP server lifecycle.")
35
+ port: int = Field(default=8000, ge=1, le=65535, description="Port on which the MCP server will listen for incoming requests.")
36
+ base_path: Optional[str] = Field(default=None, description="Base path to prefix all MCP routes exposed by this component.")
37
+ actions: Dict[str, McpServerActionConfig] = Field(default_factory=dict)
38
+
39
+ @model_validator(mode="before")
40
+ def inflate_single_script(cls, values: Dict[str, Any]):
41
+ if "manage" not in values:
42
+ values["manage"] = { key: values.pop(key) for key in McpServerManageScripts.model_fields.keys() if key in values }
43
+ return values
44
+
45
+ @model_validator(mode="before")
46
+ def inflate_single_action(cls, values: Dict[str, Any]):
47
+ if "actions" not in values:
48
+ action_keys = set(McpServerActionConfig.model_fields.keys())
49
+ if any(k in values for k in action_keys):
50
+ values["actions"] = { "__default__": { k: values.pop(k) for k in action_keys if k in values } }
51
+ return values
@@ -0,0 +1,49 @@
1
+ from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
2
+ from pydantic import BaseModel, Field
3
+ from pydantic import model_validator
4
+ from mindor.dsl.schema.action import ShellActionConfig
5
+ from .common import ComponentType, CommonComponentConfig
6
+
7
+ class ShellManageScripts(BaseModel):
8
+ install: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to install dependencies.")
9
+ clean: Optional[List[List[str]]] = Field(default=None, description="One or more scripts to clean up the execution environment.")
10
+
11
+ @model_validator(mode="before")
12
+ def normalize_scripts(cls, values):
13
+ for key in [ "install", "clean" ]:
14
+ script = values.get(key)
15
+ if script and isinstance(script, list) and all(isinstance(token, str) for token in script):
16
+ values[key] = [ script ]
17
+ return values
18
+
19
+ class ShellManageConfig(BaseModel):
20
+ scripts: ShellManageScripts = Field(..., description="Shell scripts used to install dependencies and clean up the environment.")
21
+ working_dir: Optional[str] = Field(default=None, description="Working directory for the scripts.")
22
+ env: Dict[str, str] = Field(default_factory=dict, description="Environment variables to set when executing the scripts.")
23
+
24
+ @model_validator(mode="before")
25
+ def inflate_single_script(cls, values: Dict[str, Any]):
26
+ if "scripts" not in values:
27
+ values["scripts"] = { key: values.pop(key) for key in ShellManageScripts.model_fields.keys() if key in values }
28
+ return values
29
+
30
+ class ShellComponentConfig(CommonComponentConfig):
31
+ type: Literal[ComponentType.SHELL]
32
+ manage: ShellManageConfig = Field(default_factory=ShellManageConfig, description="Configuration for scripts and environment setup related to this shell component.")
33
+ base_dir: Optional[str] = Field(default=None, description="Base working directory for all actions in this component.")
34
+ env: Optional[Dict[str, str]] = Field(default_factory=dict, description="Environment variables to set for all actions in this component.")
35
+ actions: Optional[Dict[str, ShellActionConfig]] = Field(default_factory=dict)
36
+
37
+ @model_validator(mode="before")
38
+ def inflate_single_script(cls, values: Dict[str, Any]):
39
+ if "manage" not in values:
40
+ values["manage"] = { key: values.pop(key) for key in ShellManageScripts.model_fields.keys() if key in values }
41
+ return values
42
+
43
+ @model_validator(mode="before")
44
+ def inflate_single_action(cls, values: Dict[str, Any]):
45
+ if "actions" not in values:
46
+ action_keys = set(ShellActionConfig.model_fields.keys())
47
+ if any(k in values for k in action_keys):
48
+ values["actions"] = { "__default__": { k: values.pop(k) for k in action_keys if k in values } }
49
+ return values
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: model-compose
3
- Version: 0.3.8
3
+ Version: 0.3.9
4
4
  Summary: model-compose: Declarative AI Model and Workflow Orchestrator
5
5
  Author-email: Hanyeol Cho <hanyeol.cho@gmail.com>
6
6
  License-Expression: MIT
@@ -1,27 +0,0 @@
1
- from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
2
- from pydantic import BaseModel, Field
3
- from pydantic import model_validator
4
- from mindor.dsl.schema.action import McpServerActionConfig
5
- from .common import ComponentType, CommonComponentConfig
6
-
7
- class McpServerCommands(BaseModel):
8
- install: Optional[List[List[str]]] = Field(default=None, description="One or more commands to install dependencies.")
9
- build: Optional[List[List[str]]] = Field(default=None, description="One or more commands to build the server.")
10
- start: Optional[List[str]] = Field(default=None, description="Command to start the server.")
11
-
12
- @model_validator(mode="before")
13
- def normalize_commands(cls, values):
14
- for key in [ "install", "build" ]:
15
- command = values.get(key)
16
- if command and isinstance(command, list) and all(isinstance(token, str) for token in command):
17
- values[key] = [ command ]
18
- return values
19
-
20
- class McpServerComponentConfig(CommonComponentConfig):
21
- type: Literal[ComponentType.MCP_SERVER]
22
- commands: McpServerCommands = Field(..., description="")
23
- working_dir: Optional[str] = Field(default=None, description="Working directory for the commands.")
24
- env: Dict[str, str] = Field(default_factory=dict, description="Environment variables to set when executing the commands.")
25
- port: int = Field(default=8000, ge=1, le=65535, description="")
26
- base_path: Optional[str] = Field(default=None, description="")
27
- actions: Dict[str, McpServerActionConfig] = Field(default_factory=dict)
@@ -1,19 +0,0 @@
1
- from typing import Type, Union, Literal, Optional, Dict, List, Tuple, Set, Annotated, Any
2
- from pydantic import BaseModel, Field
3
- from pydantic import model_validator
4
- from mindor.dsl.schema.action import ShellActionConfig
5
- from .common import ComponentType, CommonComponentConfig
6
-
7
- class ShellComponentConfig(CommonComponentConfig):
8
- type: Literal[ComponentType.SHELL]
9
- base_dir: Optional[str] = Field(default=None, description="Base working directory for all actions in this component.")
10
- env: Optional[Dict[str, str]] = Field(default_factory=dict, description="Environment variables to set for all actions in this component.")
11
- actions: Optional[Dict[str, ShellActionConfig]] = Field(default_factory=dict, description="Shell actions mapped by an identifier.")
12
-
13
- @model_validator(mode="before")
14
- def inflate_single_action(cls, values: Dict[str, Any]):
15
- if "actions" not in values:
16
- action_keys = set(ShellActionConfig.model_fields.keys())
17
- if any(k in values for k in action_keys):
18
- values["actions"] = { "__default__": { k: values.pop(k) for k in action_keys if k in values } }
19
- return values
File without changes
File without changes
File without changes