mcli-framework 8.0.57__tar.gz → 8.0.58__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 (237) hide show
  1. {mcli_framework-8.0.57/src/mcli_framework.egg-info → mcli_framework-8.0.58}/PKG-INFO +1 -1
  2. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/pyproject.toml +1 -1
  3. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/ci/act_runner.py +33 -0
  4. {mcli_framework-8.0.57 → mcli_framework-8.0.58/src/mcli_framework.egg-info}/PKG-INFO +1 -1
  5. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/LICENSE +0 -0
  6. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/MANIFEST.in +0 -0
  7. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/README.md +0 -0
  8. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/llms-full.txt +0 -0
  9. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/llms.txt +0 -0
  10. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/Cargo.toml +0 -0
  11. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/src/command_parser.rs +0 -0
  12. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/src/file_watcher.rs +0 -0
  13. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/src/lib.rs +0 -0
  14. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/src/process_manager.rs +0 -0
  15. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/mcli_rust/src/tfidf.rs +0 -0
  16. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/setup.cfg +0 -0
  17. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/__init__.py +0 -0
  18. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/__main__.py +0 -0
  19. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/__init__.py +0 -0
  20. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/completion_helpers.py +0 -0
  21. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/context_cmd.py +0 -0
  22. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/delete_cmd.py +0 -0
  23. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/edit_cmd.py +0 -0
  24. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/import_cmd.py +0 -0
  25. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/init_cmd.py +0 -0
  26. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/list_cmd.py +0 -0
  27. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/main.py +0 -0
  28. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/model/__init__.py +0 -0
  29. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/model/model.py +0 -0
  30. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/model_cmd.py +0 -0
  31. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/mv_cmd.py +0 -0
  32. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/new_cmd.py +0 -0
  33. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/search_cmd.py +0 -0
  34. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/services_cmd.py +0 -0
  35. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/setup_cmd.py +0 -0
  36. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/source_sync_cmd.py +0 -0
  37. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/sync_cmd.py +0 -0
  38. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/video/__init__.py +0 -0
  39. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/app/video/video.py +0 -0
  40. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/config.toml +0 -0
  41. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/__init__.py +0 -0
  42. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/__init__.py +0 -0
  43. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/api.py +0 -0
  44. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/daemon_client.py +0 -0
  45. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/daemon_client_local.py +0 -0
  46. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/daemon_decorator.py +0 -0
  47. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/api/mcli_decorators.py +0 -0
  48. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/__init__.py +0 -0
  49. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/auth.py +0 -0
  50. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/aws_manager.py +0 -0
  51. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/azure_manager.py +0 -0
  52. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/credential_manager.py +0 -0
  53. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/gcp_manager.py +0 -0
  54. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/key_manager.py +0 -0
  55. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/mcli_manager.py +0 -0
  56. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/token_manager.py +0 -0
  57. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/auth/token_util.py +0 -0
  58. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/config/__init__.py +0 -0
  59. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/config/config.py +0 -0
  60. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/config/settings.py +0 -0
  61. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/__init__.py +0 -0
  62. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/commands.py +0 -0
  63. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/defaults.py +0 -0
  64. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/env.py +0 -0
  65. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/messages.py +0 -0
  66. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/paths.py +0 -0
  67. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/scripts.py +0 -0
  68. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/constants/storage.py +0 -0
  69. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/custom_commands.py +0 -0
  70. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/discovery/__init__.py +0 -0
  71. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/discovery/command_discovery.py +0 -0
  72. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/erd/__init__.py +0 -0
  73. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/erd/erd.py +0 -0
  74. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/erd/generate_graph.py +0 -0
  75. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/errors.py +0 -0
  76. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/feature_detection.py +0 -0
  77. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/files/__init__.py +0 -0
  78. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/files/files.py +0 -0
  79. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/folder_workflows.py +0 -0
  80. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/fs/__init__.py +0 -0
  81. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/fs/fs.py +0 -0
  82. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/ipfs_sync.py +0 -0
  83. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/ipfs_utils.py +0 -0
  84. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/ipns_manager.py +0 -0
  85. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/lib.py +0 -0
  86. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/logger/__init__.py +0 -0
  87. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/logger/correlation.py +0 -0
  88. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/logger/logger.py +0 -0
  89. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/logger/structured.py +0 -0
  90. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/optional_deps.py +0 -0
  91. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/paths.py +0 -0
  92. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/performance/__init__.py +0 -0
  93. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/performance/optimizer.py +0 -0
  94. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/performance/rust_bridge.py +0 -0
  95. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/performance/uvloop_config.py +0 -0
  96. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pickles/__init__.py +0 -0
  97. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pickles/pickles.py +0 -0
  98. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pyenv/__init__.py +0 -0
  99. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pyenv/deps.py +0 -0
  100. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pyenv/manager.py +0 -0
  101. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/pyenv/venv.py +0 -0
  102. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/script_loader.py +0 -0
  103. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/script_sync.py +0 -0
  104. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/script_watcher.py +0 -0
  105. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  106. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/secrets/__init__.py +0 -0
  107. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/secrets/commands.py +0 -0
  108. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/secrets/manager.py +0 -0
  109. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/secrets/repl.py +0 -0
  110. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/secrets/store.py +0 -0
  111. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/__init__.py +0 -0
  112. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/config.py +0 -0
  113. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/data_pipeline.py +0 -0
  114. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/health.py +0 -0
  115. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/lsh_client.py +0 -0
  116. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/manager.py +0 -0
  117. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/redis_service.py +0 -0
  118. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/registry.py +0 -0
  119. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/state.py +0 -0
  120. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/services/supervisor.py +0 -0
  121. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/shell/__init__.py +0 -0
  122. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/shell/exceptions.py +0 -0
  123. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/shell/shell.py +0 -0
  124. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/sync_key_store.py +0 -0
  125. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/templates/__init__.py +0 -0
  126. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/templates/command_templates.py +0 -0
  127. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/toml/__init__.py +0 -0
  128. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/toml/toml.py +0 -0
  129. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/types.py +0 -0
  130. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/ui/styling.py +0 -0
  131. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/ui/visual_effects.py +0 -0
  132. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/watcher/__init__.py +0 -0
  133. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/watcher/watcher.py +0 -0
  134. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/workflow_models.py +0 -0
  135. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/lib/workspace_registry.py +0 -0
  136. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/mygroup/__init__.py +0 -0
  137. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/mygroup/test_cmd.py +0 -0
  138. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/public/__init__.py +0 -0
  139. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/public/commands/__init__.py +0 -0
  140. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/public/oi/oi.py +0 -0
  141. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/public/public.py +0 -0
  142. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/__init__.py +0 -0
  143. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/completion_cmd.py +0 -0
  144. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/env_cmd.py +0 -0
  145. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/health_cmd.py +0 -0
  146. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/ipfs_cmd.py +0 -0
  147. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/logs_cmd.py +0 -0
  148. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/migrate_cmd.py +0 -0
  149. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/release_notes_cmd.py +0 -0
  150. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/self_cmd.py +0 -0
  151. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/store_cmd.py +0 -0
  152. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/test_cmd.py +0 -0
  153. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/self/workflows_cmd.py +0 -0
  154. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/__init__.py +0 -0
  155. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/backends/__init__.py +0 -0
  156. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/backends/ipfs_backend.py +0 -0
  157. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/base.py +0 -0
  158. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/cache.py +0 -0
  159. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/encryption.py +0 -0
  160. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/factory.py +0 -0
  161. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/registry.py +0 -0
  162. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/storage/storacha_cli.py +0 -0
  163. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/__init__.py +0 -0
  164. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/ci/__init__.py +0 -0
  165. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/ci/ci.py +0 -0
  166. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/ci/runner_status.py +0 -0
  167. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/ci/workflow_transform.py +0 -0
  168. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/__init__.py +0 -0
  169. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  170. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  171. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/client.py +0 -0
  172. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/daemon.py +0 -0
  173. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  174. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  175. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/process_cli.py +0 -0
  176. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/process_manager.py +0 -0
  177. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  178. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/doc_convert.py +0 -0
  179. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/docker/__init__.py +0 -0
  180. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/docker/docker.py +0 -0
  181. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/file/__init__.py +0 -0
  182. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/gcloud/__init__.py +0 -0
  183. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/gcloud/config.toml +0 -0
  184. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  185. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/git_commit/__init__.py +0 -0
  186. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  187. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/interview/__init__.py +0 -0
  188. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/lsh_integration.py +0 -0
  189. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/client.py +0 -0
  190. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  191. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  192. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  193. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  194. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/model_service.py +0 -0
  195. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  196. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
  197. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  198. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  199. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/test_example.py +0 -0
  200. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/test_integration.py +0 -0
  201. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  202. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/__init__.py +0 -0
  203. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/command_loader.py +0 -0
  204. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/converter.py +0 -0
  205. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/executor.py +0 -0
  206. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
  207. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/schema.py +0 -0
  208. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/notebook/validator.py +0 -0
  209. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/openai/openai.py +0 -0
  210. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/registry/__init__.py +0 -0
  211. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/registry/registry.py +0 -0
  212. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/repo/__init__.py +0 -0
  213. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/repo/repo.py +0 -0
  214. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/__init__.py +0 -0
  215. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  216. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/job.py +0 -0
  217. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/models.py +0 -0
  218. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/monitor.py +0 -0
  219. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/persistence.py +0 -0
  220. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/scheduler.py +0 -0
  221. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/scheduler/validation.py +0 -0
  222. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/search/__init__.py +0 -0
  223. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/secrets/__init__.py +0 -0
  224. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/secrets/secrets_cmd.py +0 -0
  225. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/storage/__init__.py +0 -0
  226. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/storage/storage_cmd.py +0 -0
  227. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/sync/__init__.py +0 -0
  228. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/sync/test_cmd.py +0 -0
  229. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/videos/__init__.py +0 -0
  230. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/wakatime/__init__.py +0 -0
  231. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  232. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli/workflow/workflow.py +0 -0
  233. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli_framework.egg-info/SOURCES.txt +0 -0
  234. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  235. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  236. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli_framework.egg-info/requires.txt +0 -0
  237. {mcli_framework-8.0.57 → mcli_framework-8.0.58}/src/mcli_framework.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 8.0.57
3
+ Version: 8.0.58
4
4
  Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcli-framework"
3
- version = "8.0.57"
3
+ version = "8.0.58"
4
4
  description = "Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -57,6 +57,33 @@ def act_available() -> bool:
57
57
  return shutil.which("act") is not None
58
58
 
59
59
 
60
+ # Preferred over act when present: a repo-defined `make ci-native` target runs
61
+ # the same gates directly on the host toolchain. On Apple-silicon (and any host
62
+ # without nested-virt) act's amd64 emulation under podman is flaky for heavy
63
+ # jobs (container-vanish races, action-clone failures), so a native run is both
64
+ # faster and more reliable. Repos opt in simply by defining the target.
65
+ _NATIVE_GATE = "ci-native"
66
+
67
+
68
+ def native_gate_available() -> bool:
69
+ """True if the repo defines a `make ci-native` target (preferred over act)."""
70
+ try:
71
+ proc = subprocess.run(
72
+ ["make", "-n", _NATIVE_GATE], capture_output=True, text=True, timeout=30
73
+ )
74
+ return proc.returncode == 0
75
+ except (FileNotFoundError, subprocess.TimeoutExpired):
76
+ return False
77
+
78
+
79
+ def run_native() -> PreflightResult:
80
+ """Run the repo's native gate (`make ci-native`) on the host. PASS on exit 0,
81
+ FAIL otherwise. Output streams straight to the terminal (these runs are long;
82
+ no need to buffer)."""
83
+ proc = subprocess.run(["make", _NATIVE_GATE])
84
+ return PreflightResult.PASS if proc.returncode == 0 else PreflightResult.FAIL
85
+
86
+
60
87
  def docker_running() -> bool:
61
88
  try:
62
89
  proc = subprocess.run(["docker", "info"], capture_output=True, timeout=30)
@@ -203,7 +230,13 @@ def preflight(repo_slug: str, event: str = "pull_request") -> PreflightResult:
203
230
 
204
231
  `repo_slug` is accepted for symmetry and future use; the runner fallback is
205
232
  orchestrated by the CLI layer based on runner_status.has_online_runner.
233
+
234
+ Prefers a repo-defined native gate (`make ci-native`) over act: it runs the
235
+ same checks on the host toolchain, avoiding act's flaky container emulation.
206
236
  """
237
+ if native_gate_available():
238
+ sys.stdout.write("▶ Native CI gate found — running `make ci-native` (no act)…\n")
239
+ return run_native()
207
240
  if not probe():
208
241
  return PreflightResult.UNREACHABLE
209
242
  return run_act(event)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 8.0.57
3
+ Version: 8.0.58
4
4
  Summary: Portable workflow framework - transform any script into a versioned, schedulable command. Store in ~/.mcli/workflows/, version with lockfile, run as daemon or cron job.
5
5
  Author-email: Luis Fernandez de la Vara <luis@lefv.io>
6
6
  Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
File without changes