mcli-framework 7.19.8__tar.gz → 8.0.15__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 (475) hide show
  1. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/dependency-review-config.yml +2 -2
  2. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/ci.yml +44 -19
  3. mcli_framework-8.0.15/.github/workflows/docs-links.yml +48 -0
  4. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/publish.yml +2 -2
  5. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/security.yml +17 -4
  6. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/test.yml +1 -1
  7. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/MANIFEST.in +4 -0
  8. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/PKG-INFO +144 -167
  9. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/README.md +136 -155
  10. mcli_framework-8.0.15/llms-full.txt +801 -0
  11. mcli_framework-8.0.15/llms.txt +35 -0
  12. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/pyproject.toml +72 -27
  13. mcli_framework-8.0.15/src/mcli/__init__.py +160 -0
  14. mcli_framework-8.0.15/src/mcli/app/__init__.py +21 -0
  15. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/commands_cmd.py +249 -90
  16. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/completion_helpers.py +12 -12
  17. mcli_framework-8.0.15/src/mcli/app/context_cmd.py +158 -0
  18. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/create_cmd.py +5 -4
  19. mcli_framework-8.0.15/src/mcli/app/delete_cmd.py +65 -0
  20. mcli_framework-8.0.15/src/mcli/app/edit_cmd.py +156 -0
  21. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/init_cmd.py +10 -131
  22. mcli_framework-8.0.15/src/mcli/app/list_cmd.py +247 -0
  23. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/main.py +115 -108
  24. mcli_framework-8.0.15/src/mcli/app/migrate_cmd.py +396 -0
  25. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/model/model.py +35 -20
  26. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/model_cmd.py +8 -4
  27. mcli_framework-8.0.15/src/mcli/app/new_cmd.py +1012 -0
  28. mcli_framework-8.0.15/src/mcli/app/search_cmd.py +175 -0
  29. mcli_framework-8.0.15/src/mcli/app/sync_cmd.py +787 -0
  30. mcli_framework-8.0.15/src/mcli/app/video/__init__.py +3 -0
  31. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/video/video.py +49 -23
  32. mcli_framework-8.0.15/src/mcli/lib/__init__.py +0 -0
  33. mcli_framework-8.0.15/src/mcli/lib/api/__init__.py +0 -0
  34. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/api/api.py +74 -57
  35. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/api/mcli_decorators.py +76 -52
  36. mcli_framework-8.0.15/src/mcli/lib/auth/__init__.py +0 -0
  37. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/token_util.py +23 -10
  38. mcli_framework-8.0.15/src/mcli/lib/config/__init__.py +29 -0
  39. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/constants/__init__.py +57 -2
  40. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/constants/commands.py +4 -4
  41. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/constants/env.py +6 -0
  42. mcli_framework-8.0.15/src/mcli/lib/constants/messages.py +988 -0
  43. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/constants/paths.py +20 -1
  44. mcli_framework-8.0.15/src/mcli/lib/constants/scripts.py +172 -0
  45. mcli_framework-8.0.15/src/mcli/lib/constants/storage.py +175 -0
  46. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/custom_commands.py +123 -51
  47. mcli_framework-8.0.15/src/mcli/lib/erd/__init__.py +25 -0
  48. mcli_framework-8.0.15/src/mcli/lib/errors.py +297 -0
  49. mcli_framework-8.0.15/src/mcli/lib/feature_detection.py +78 -0
  50. mcli_framework-8.0.15/src/mcli/lib/files/__init__.py +0 -0
  51. mcli_framework-8.0.15/src/mcli/lib/fs/__init__.py +31 -0
  52. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/ipfs_sync.py +64 -29
  53. mcli_framework-8.0.15/src/mcli/lib/logger/__init__.py +3 -0
  54. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/logger/logger.py +16 -13
  55. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/paths.py +94 -2
  56. mcli_framework-8.0.15/src/mcli/lib/performance/__init__.py +17 -0
  57. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/performance/rust_bridge.py +33 -33
  58. mcli_framework-8.0.15/src/mcli/lib/pickles/__init__.py +0 -0
  59. mcli_framework-8.0.15/src/mcli/lib/pyenv/__init__.py +24 -0
  60. mcli_framework-8.0.15/src/mcli/lib/pyenv/deps.py +193 -0
  61. mcli_framework-8.0.15/src/mcli/lib/pyenv/manager.py +231 -0
  62. mcli_framework-8.0.15/src/mcli/lib/pyenv/venv.py +173 -0
  63. mcli_framework-8.0.15/src/mcli/lib/script_loader.py +865 -0
  64. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/script_sync.py +22 -5
  65. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/script_watcher.py +10 -7
  66. mcli_framework-8.0.15/src/mcli/lib/secrets/__init__.py +10 -0
  67. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/secrets/manager.py +4 -3
  68. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/secrets/repl.py +15 -14
  69. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/secrets/store.py +3 -2
  70. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/services/redis_service.py +5 -4
  71. mcli_framework-8.0.15/src/mcli/lib/shell/__init__.py +0 -0
  72. mcli_framework-8.0.15/src/mcli/lib/templates/__init__.py +15 -0
  73. mcli_framework-8.0.15/src/mcli/lib/templates/command_templates.py +121 -0
  74. mcli_framework-8.0.15/src/mcli/lib/toml/__init__.py +0 -0
  75. mcli_framework-8.0.15/src/mcli/lib/types.py +275 -0
  76. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/ui/visual_effects.py +41 -29
  77. mcli_framework-8.0.15/src/mcli/lib/watcher/__init__.py +0 -0
  78. mcli_framework-8.0.15/src/mcli/lib/workspace_registry.py +300 -0
  79. mcli_framework-8.0.15/src/mcli/ml/__init__.py +16 -0
  80. mcli_framework-8.0.15/src/mcli/ml/api/__init__.py +30 -0
  81. mcli_framework-8.0.15/src/mcli/ml/api/routers/__init__.py +27 -0
  82. mcli_framework-8.0.15/src/mcli/ml/auth/__init__.py +41 -0
  83. mcli_framework-8.0.15/src/mcli/ml/backtesting/__init__.py +33 -0
  84. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/backtesting/run.py +40 -5
  85. mcli_framework-8.0.15/src/mcli/ml/cli/__init__.py +5 -0
  86. mcli_framework-8.0.15/src/mcli/ml/config/__init__.py +33 -0
  87. mcli_framework-8.0.15/src/mcli/ml/configs/__init__.py +16 -0
  88. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/configs/mlflow_config.py +2 -2
  89. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/configs/mlops_manager.py +3 -3
  90. mcli_framework-8.0.15/src/mcli/ml/dashboard/__init__.py +12 -0
  91. mcli_framework-8.0.15/src/mcli/ml/dashboard/components/__init__.py +7 -0
  92. mcli_framework-8.0.15/src/mcli/ml/dashboard/pages/__init__.py +6 -0
  93. mcli_framework-8.0.15/src/mcli/ml/data_ingestion/__init__.py +29 -0
  94. mcli_framework-8.0.15/src/mcli/ml/database/__init__.py +40 -0
  95. mcli_framework-8.0.15/src/mcli/ml/experimentation/__init__.py +29 -0
  96. mcli_framework-8.0.15/src/mcli/ml/features/__init__.py +39 -0
  97. mcli_framework-8.0.15/src/mcli/ml/mlops/__init__.py +19 -0
  98. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/mlops/experiment_tracker.py +5 -5
  99. mcli_framework-8.0.15/src/mcli/ml/models/__init__.py +89 -0
  100. mcli_framework-8.0.15/src/mcli/ml/monitoring/__init__.py +25 -0
  101. mcli_framework-8.0.15/src/mcli/ml/optimization/__init__.py +27 -0
  102. mcli_framework-8.0.15/src/mcli/ml/predictions/__init__.py +5 -0
  103. mcli_framework-8.0.15/src/mcli/ml/preprocessing/__init__.py +24 -0
  104. mcli_framework-8.0.15/src/mcli/ml/scripts/__init__.py +1 -0
  105. mcli_framework-8.0.15/src/mcli/ml/serving/__init__.py +1 -0
  106. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/serving/serve.py +22 -5
  107. mcli_framework-8.0.15/src/mcli/ml/trading/__init__.py +63 -0
  108. mcli_framework-8.0.15/src/mcli/ml/training/__init__.py +7 -0
  109. mcli_framework-8.0.15/src/mcli/mygroup/__init__.py +3 -0
  110. mcli_framework-8.0.15/src/mcli/public/__init__.py +1 -0
  111. mcli_framework-8.0.15/src/mcli/public/commands/__init__.py +2 -0
  112. mcli_framework-8.0.15/src/mcli/public/public.py +3 -0
  113. mcli_framework-8.0.15/src/mcli/self/__init__.py +3 -0
  114. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/completion_cmd.py +8 -8
  115. mcli_framework-8.0.15/src/mcli/self/health_cmd.py +1326 -0
  116. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/logs_cmd.py +19 -16
  117. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/migrate_cmd.py +261 -53
  118. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/redis_cmd.py +16 -13
  119. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/self_cmd.py +173 -33
  120. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/store_cmd.py +5 -4
  121. mcli_framework-8.0.15/src/mcli/self/workflows_cmd.py +304 -0
  122. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/zsh_cmd.py +10 -10
  123. mcli_framework-8.0.15/src/mcli/storage/__init__.py +30 -0
  124. mcli_framework-8.0.15/src/mcli/storage/backends/__init__.py +5 -0
  125. mcli_framework-8.0.15/src/mcli/storage/backends/ipfs_backend.py +543 -0
  126. mcli_framework-8.0.15/src/mcli/storage/base.py +247 -0
  127. mcli_framework-8.0.15/src/mcli/storage/cache.py +332 -0
  128. mcli_framework-8.0.15/src/mcli/storage/encryption.py +163 -0
  129. mcli_framework-8.0.15/src/mcli/storage/factory.py +122 -0
  130. mcli_framework-8.0.15/src/mcli/storage/registry.py +240 -0
  131. mcli_framework-8.0.15/src/mcli/storage/storacha_cli.py +534 -0
  132. mcli_framework-8.0.15/src/mcli/workflow/__init__.py +0 -0
  133. mcli_framework-8.0.15/src/mcli/workflow/daemon/__init__.py +15 -0
  134. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/daemon.py +20 -6
  135. mcli_framework-8.0.15/src/mcli/workflow/dashboard/__init__.py +5 -0
  136. mcli_framework-8.0.15/src/mcli/workflow/docker/__init__.py +0 -0
  137. mcli_framework-8.0.15/src/mcli/workflow/docker/docker.py +0 -0
  138. mcli_framework-8.0.15/src/mcli/workflow/file/__init__.py +0 -0
  139. mcli_framework-8.0.15/src/mcli/workflow/gcloud/__init__.py +0 -0
  140. mcli_framework-8.0.15/src/mcli/workflow/git_commit/__init__.py +0 -0
  141. mcli_framework-8.0.15/src/mcli/workflow/interview/__init__.py +0 -0
  142. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/lsh_integration.py +5 -4
  143. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/model_service.py +57 -46
  144. mcli_framework-8.0.15/src/mcli/workflow/notebook/__init__.py +18 -0
  145. mcli_framework-8.0.15/src/mcli/workflow/notebook/command_loader.py +518 -0
  146. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/notebook/notebook_cmd.py +8 -15
  147. mcli_framework-8.0.15/src/mcli/workflow/registry/__init__.py +0 -0
  148. mcli_framework-8.0.15/src/mcli/workflow/repo/__init__.py +0 -0
  149. mcli_framework-8.0.15/src/mcli/workflow/scheduler/__init__.py +25 -0
  150. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/scheduler/persistence.py +7 -6
  151. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/scheduler/scheduler.py +11 -2
  152. mcli_framework-8.0.15/src/mcli/workflow/search/__init__.py +0 -0
  153. mcli_framework-8.0.15/src/mcli/workflow/secrets/__init__.py +5 -0
  154. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/secrets/secrets_cmd.py +1 -1
  155. mcli_framework-8.0.15/src/mcli/workflow/storage/__init__.py +5 -0
  156. mcli_framework-8.0.15/src/mcli/workflow/storage/storage_cmd.py +469 -0
  157. mcli_framework-8.0.15/src/mcli/workflow/sync/__init__.py +5 -0
  158. mcli_framework-8.0.15/src/mcli/workflow/videos/__init__.py +1 -0
  159. mcli_framework-8.0.15/src/mcli/workflow/wakatime/__init__.py +76 -0
  160. mcli_framework-8.0.15/src/mcli/workflow/workflow.py +247 -0
  161. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/PKG-INFO +144 -167
  162. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/SOURCES.txt +113 -20
  163. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/requires.txt +4 -8
  164. mcli_framework-8.0.15/tests/cli/__init__.py +0 -0
  165. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_workflow_creation_commands.py +20 -44
  166. mcli_framework-8.0.15/tests/e2e/__init__.py +0 -0
  167. mcli_framework-8.0.15/tests/fixtures/__init__.py +59 -0
  168. mcli_framework-8.0.15/tests/integration/__init__.py +0 -0
  169. mcli_framework-8.0.15/tests/integration/test_all_commands_comprehensive.py +941 -0
  170. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_direct_file_execution.py +8 -0
  171. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_folder_workflows_integration.py +0 -51
  172. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_notebook_workflows.py +5 -0
  173. mcli_framework-8.0.15/tests/performance/__init__.py +0 -0
  174. mcli_framework-8.0.15/tests/property/__init__.py +0 -0
  175. mcli_framework-8.0.15/tests/unit/__init__.py +0 -0
  176. mcli_framework-8.0.15/tests/unit/storage/__init__.py +1 -0
  177. mcli_framework-8.0.15/tests/unit/storage/test_cache.py +244 -0
  178. mcli_framework-8.0.15/tests/unit/storage/test_encryption.py +118 -0
  179. mcli_framework-8.0.15/tests/unit/storage/test_storacha_cli.py +286 -0
  180. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_dependencies.py +1 -46
  181. mcli_framework-8.0.15/tests/unit/test_health_cmd.py +610 -0
  182. mcli_framework-8.0.15/tests/unit/test_new_cmd.py +765 -0
  183. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_notebook_command_loader.py +146 -0
  184. mcli_framework-8.0.15/tests/unit/test_pyenv.py +365 -0
  185. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_store_cmd.py +3 -1
  186. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_workflow_file_completion.py +13 -5
  187. mcli_framework-7.19.8/.github/workflows/main_mcli.yml +0 -76
  188. mcli_framework-7.19.8/src/mcli/app/edit_cmd.py +0 -118
  189. mcli_framework-7.19.8/src/mcli/app/lock_cmd.py +0 -428
  190. mcli_framework-7.19.8/src/mcli/app/new_cmd.py +0 -438
  191. mcli_framework-7.19.8/src/mcli/app/sync_cmd.py +0 -87
  192. mcli_framework-7.19.8/src/mcli/chat/chat.py +0 -2392
  193. mcli_framework-7.19.8/src/mcli/chat/command_rag.py +0 -510
  194. mcli_framework-7.19.8/src/mcli/chat/enhanced_chat.py +0 -643
  195. mcli_framework-7.19.8/src/mcli/chat/system_controller.py +0 -1010
  196. mcli_framework-7.19.8/src/mcli/chat/system_integration.py +0 -1015
  197. mcli_framework-7.19.8/src/mcli/cli.py +0 -24
  198. mcli_framework-7.19.8/src/mcli/lib/constants/messages.py +0 -96
  199. mcli_framework-7.19.8/src/mcli/lib/makefile_workflows.py +0 -249
  200. mcli_framework-7.19.8/src/mcli/lib/packagejson_workflows.py +0 -206
  201. mcli_framework-7.19.8/src/mcli/public/public.py +0 -4
  202. mcli_framework-7.19.8/src/mcli/workflow/notebook/command_loader.py +0 -248
  203. mcli_framework-7.19.8/src/mcli/workflow/sync_cmd.py +0 -446
  204. mcli_framework-7.19.8/src/mcli/workflow/workflow.py +0 -473
  205. mcli_framework-7.19.8/tests/demo_generate_graph.py +0 -79
  206. mcli_framework-7.19.8/tests/demo_hierarchical_transform.py +0 -412
  207. mcli_framework-7.19.8/tests/fixtures/chat_fixtures.py +0 -83
  208. mcli_framework-7.19.8/tests/integration/test_agent.py +0 -113
  209. mcli_framework-7.19.8/tests/integration/test_chat_client.py +0 -310
  210. mcli_framework-7.19.8/tests/integration/test_chat_system.py +0 -144
  211. mcli_framework-7.19.8/tests/run_tests.py +0 -84
  212. mcli_framework-7.19.8/tests/test_harness.py +0 -186
  213. mcli_framework-7.19.8/tests/test_openai_adapter.py +0 -242
  214. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/dependabot.yml +0 -0
  215. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/build.yml +0 -0
  216. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/codeql.yml +0 -0
  217. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/publish-self-hosted.yml +0 -0
  218. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/.github/workflows/release.yml +0 -0
  219. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/LICENSE +0 -0
  220. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/Cargo.toml +0 -0
  221. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/src/command_parser.rs +0 -0
  222. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/src/file_watcher.rs +0 -0
  223. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/src/lib.rs +0 -0
  224. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/src/process_manager.rs +0 -0
  225. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/mcli_rust/src/tfidf.rs +0 -0
  226. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/setup.cfg +0 -0
  227. /mcli_framework-7.19.8/src/mcli/workflow/docker/docker.py → /mcli_framework-8.0.15/src/mcli/app/model/__init__.py +0 -0
  228. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/remove_cmd.py +0 -0
  229. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/app/rm_cmd.py +0 -0
  230. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/config.toml +0 -0
  231. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/api/daemon_client.py +0 -0
  232. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/api/daemon_client_local.py +0 -0
  233. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/api/daemon_decorator.py +0 -0
  234. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/auth.py +0 -0
  235. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/aws_manager.py +0 -0
  236. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/azure_manager.py +0 -0
  237. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/credential_manager.py +0 -0
  238. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/gcp_manager.py +0 -0
  239. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/key_manager.py +0 -0
  240. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/mcli_manager.py +0 -0
  241. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/auth/token_manager.py +0 -0
  242. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/config/config.py +0 -0
  243. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/constants/defaults.py +0 -0
  244. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/discovery/__init__.py +0 -0
  245. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/discovery/command_discovery.py +0 -0
  246. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/erd/erd.py +0 -0
  247. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/erd/generate_graph.py +0 -0
  248. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/files/files.py +0 -0
  249. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/folder_workflows.py +0 -0
  250. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/fs/fs.py +0 -0
  251. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/lib.py +0 -0
  252. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/optional_deps.py +0 -0
  253. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/performance/optimizer.py +0 -0
  254. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/performance/uvloop_config.py +0 -0
  255. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/pickles/pickles.py +0 -0
  256. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  257. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/secrets/commands.py +0 -0
  258. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/services/data_pipeline.py +0 -0
  259. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/services/lsh_client.py +0 -0
  260. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/shell/shell.py +0 -0
  261. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/toml/toml.py +0 -0
  262. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/ui/styling.py +0 -0
  263. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/lib/watcher/watcher.py +0 -0
  264. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/app.py +0 -0
  265. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/middleware.py +0 -0
  266. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/admin_router.py +0 -0
  267. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/auth_router.py +0 -0
  268. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/backtest_router.py +0 -0
  269. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/data_router.py +0 -0
  270. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/model_router.py +0 -0
  271. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/monitoring_router.py +0 -0
  272. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/portfolio_router.py +0 -0
  273. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/prediction_router.py +0 -0
  274. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/trade_router.py +0 -0
  275. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/routers/websocket_router.py +0 -0
  276. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/api/schemas.py +0 -0
  277. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/auth/auth_manager.py +0 -0
  278. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/auth/models.py +0 -0
  279. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/auth/permissions.py +0 -0
  280. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/backtesting/backtest_engine.py +0 -0
  281. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/backtesting/performance_metrics.py +0 -0
  282. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/cache.py +0 -0
  283. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/cli/main.py +0 -0
  284. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/config/settings.py +0 -0
  285. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/configs/dvc_config.py +0 -0
  286. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/app.py +0 -0
  287. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/app_integrated.py +0 -0
  288. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/app_supabase.py +0 -0
  289. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/app_training.py +0 -0
  290. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/cli.py +0 -0
  291. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/common.py +0 -0
  292. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/components/charts.py +0 -0
  293. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/components/metrics.py +0 -0
  294. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/components/tables.py +0 -0
  295. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/overview.py +0 -0
  296. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/cicd.py +0 -0
  297. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/debug_dependencies.py +0 -0
  298. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/gravity_viz.py +0 -0
  299. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/monte_carlo_predictions.py +0 -0
  300. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/predictions_enhanced.py +0 -0
  301. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/scrapers_and_logs.py +0 -0
  302. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/test_portfolio.py +0 -0
  303. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/trading.py +0 -0
  304. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/pages/workflows.py +0 -0
  305. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/streamlit_extras_utils.py +0 -0
  306. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/styles.py +0 -0
  307. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/utils.py +0 -0
  308. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/dashboard/warning_suppression.py +0 -0
  309. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/data_ingestion/api_connectors.py +0 -0
  310. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/data_ingestion/data_pipeline.py +0 -0
  311. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/data_ingestion/stream_processor.py +0 -0
  312. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/database/migrations/env.py +0 -0
  313. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/database/models.py +0 -0
  314. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/database/session.py +0 -0
  315. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/experimentation/ab_testing.py +0 -0
  316. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/features/ensemble_features.py +0 -0
  317. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/features/recommendation_engine.py +0 -0
  318. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/features/stock_features.py +0 -0
  319. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/features/test_feature_engineering.py +0 -0
  320. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/logging.py +0 -0
  321. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/mlops/data_versioning.py +0 -0
  322. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/mlops/model_serving.py +0 -0
  323. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/mlops/pipeline_orchestrator.py +0 -0
  324. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/models/base_models.py +0 -0
  325. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/models/ensemble_models.py +0 -0
  326. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/models/recommendation_models.py +0 -0
  327. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/models/test_models.py +0 -0
  328. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/monitoring/drift_detection.py +0 -0
  329. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/monitoring/metrics.py +0 -0
  330. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/optimization/optimize.py +0 -0
  331. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/optimization/portfolio_optimizer.py +0 -0
  332. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/predictions/monte_carlo.py +0 -0
  333. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/predictions/prediction_engine.py +0 -0
  334. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/preprocessing/data_cleaners.py +0 -0
  335. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/preprocessing/feature_extractors.py +0 -0
  336. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/preprocessing/ml_pipeline.py +0 -0
  337. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/preprocessing/test_preprocessing.py +0 -0
  338. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/scripts/populate_sample_data.py +0 -0
  339. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/tasks.py +0 -0
  340. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/tests/test_integration.py +0 -0
  341. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/tests/test_training_dashboard.py +0 -0
  342. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/alpaca_client.py +0 -0
  343. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/migrations.py +0 -0
  344. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/models.py +0 -0
  345. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/paper_trading.py +0 -0
  346. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/risk_management.py +0 -0
  347. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/trading/trading_service.py +0 -0
  348. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/training/train.py +0 -0
  349. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/ml/training/train_model.py +0 -0
  350. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/mygroup/test_cmd.py +0 -0
  351. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/public/oi/oi.py +0 -0
  352. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/test_cmd.py +0 -0
  353. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/self/visual_cmd.py +0 -0
  354. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  355. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  356. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/client.py +0 -0
  357. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  358. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  359. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/process_cli.py +0 -0
  360. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/process_manager.py +0 -0
  361. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  362. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/dashboard/dashboard_cmd.py +0 -0
  363. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/doc_convert.py +0 -0
  364. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/gcloud/config.toml +0 -0
  365. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  366. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  367. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/client.py +0 -0
  368. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  369. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  370. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  371. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  372. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  373. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
  374. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  375. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  376. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/test_example.py +0 -0
  377. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/test_integration.py +0 -0
  378. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  379. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/notebook/converter.py +0 -0
  380. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/notebook/executor.py +0 -0
  381. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/notebook/schema.py +0 -0
  382. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/notebook/validator.py +0 -0
  383. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/openai/openai.py +0 -0
  384. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/registry/registry.py +0 -0
  385. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/repo/repo.py +0 -0
  386. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  387. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/scheduler/job.py +0 -0
  388. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/scheduler/monitor.py +0 -0
  389. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/sync/test_cmd.py +0 -0
  390. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  391. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  392. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  393. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/src/mcli_framework.egg-info/top_level.txt +0 -0
  394. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_all_commands.py +0 -0
  395. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_app_logs_cmd.py +0 -0
  396. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_app_redis_cmd.py +0 -0
  397. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_logs_cmd.py +0 -0
  398. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_main_app.py +0 -0
  399. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_model_cmd.py +0 -0
  400. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_self_cmd.py +0 -0
  401. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_self_cmd_plugins.py +0 -0
  402. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_self_cmd_utilities.py +0 -0
  403. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_workflow_file.py +0 -0
  404. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_workflow_gcloud.py +0 -0
  405. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/cli/test_workflow_registry.py +0 -0
  406. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/conftest.py +0 -0
  407. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/e2e/test_complete_workflows.py +0 -0
  408. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/e2e/test_model_workflow.py +0 -0
  409. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/e2e/test_new_user_workflow.py +0 -0
  410. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/e2e/test_update_workflow.py +0 -0
  411. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/fixtures/cli_fixtures.py +0 -0
  412. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/fixtures/data_fixtures.py +0 -0
  413. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/fixtures/db_fixtures.py +0 -0
  414. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/fixtures/model_fixtures.py +0 -0
  415. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_daemon_server.py +0 -0
  416. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_e2e_dashboard_lsh_supabase.py +0 -0
  417. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_flask_webapp.py +0 -0
  418. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_gcloud_services.py +0 -0
  419. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_ml_auth.py +0 -0
  420. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_ml_data_pipeline.py +0 -0
  421. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_ml_models.py +0 -0
  422. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_ml_pipeline.py +0 -0
  423. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_module_imports.py +0 -0
  424. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_oi_service.py +0 -0
  425. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_repo_operations.py +0 -0
  426. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_scheduler_integration.py +0 -0
  427. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_service_registry.py +0 -0
  428. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_supabase_live_connection.py +0 -0
  429. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_video_processing.py +0 -0
  430. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_wakatime_api.py +0 -0
  431. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_webapp_full.py +0 -0
  432. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_workflow.py +0 -0
  433. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/integration/test_workflow_commands.py +0 -0
  434. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_api_utils.py +0 -0
  435. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_async_process_manager.py +0 -0
  436. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_auth_modules.py +0 -0
  437. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_bug_fixes.py +0 -0
  438. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_config.py +0 -0
  439. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_custom_commands.py +0 -0
  440. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_custom_commands_filtering.py +0 -0
  441. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_daemon_api.py +0 -0
  442. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_dashboard_components.py +0 -0
  443. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_dashboard_functions.py +0 -0
  444. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_dashboard_pages.py +0 -0
  445. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_doc_convert_workflow.py +0 -0
  446. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_emulator_workflow.py +0 -0
  447. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_erd_generation.py +0 -0
  448. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_erd_generic.py +0 -0
  449. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_erd_imports.py +0 -0
  450. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_folder_workflows.py +0 -0
  451. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_git_commit_workflow.py +0 -0
  452. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_lib_auth.py +0 -0
  453. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_lib_files.py +0 -0
  454. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_lib_utils.py +0 -0
  455. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_logger.py +0 -0
  456. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_ml_preprocessing.py +0 -0
  457. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_notebook_executor.py +0 -0
  458. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_optional_deps.py +0 -0
  459. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_paths.py +0 -0
  460. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_pdf_compress.py +0 -0
  461. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_prediction_engine.py +0 -0
  462. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_regression.py +0 -0
  463. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_scheduler.py +0 -0
  464. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_scheduler_cron_parser.py +0 -0
  465. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_scheduler_job.py +0 -0
  466. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_scheduler_monitor.py +0 -0
  467. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_scheduler_persistence.py +0 -0
  468. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_self_update.py +0 -0
  469. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_supabase_connection.py +0 -0
  470. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_supabase_pagination.py +0 -0
  471. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_toml_utils.py +0 -0
  472. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_trading_imports.py +0 -0
  473. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_ui_rich.py +0 -0
  474. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/test_uv_compat.py +0 -0
  475. {mcli_framework-7.19.8 → mcli_framework-8.0.15}/tests/unit/workflow/test_notebook.py +0 -0
@@ -1,8 +1,8 @@
1
1
  # Dependency Review configuration
2
2
  # https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review
3
3
 
4
- # Fail only on high/critical vulnerabilities
5
- fail-on-severity: high
4
+ # Fail on moderate and above vulnerabilities
5
+ fail-on-severity: moderate
6
6
 
7
7
  # Allow specific licenses commonly used in npm packages
8
8
  allow-licenses:
@@ -14,6 +14,7 @@ jobs:
14
14
  lint-and-format:
15
15
  name: Lint and Format Check
16
16
  runs-on: ubuntu-latest
17
+ continue-on-error: true # Non-blocking: ML modules have pre-existing formatting issues
17
18
 
18
19
  steps:
19
20
  - name: Checkout code
@@ -40,9 +41,16 @@ jobs:
40
41
  run: python tools/lint_hardcoded_strings.py --check-all --json
41
42
  continue-on-error: true # Non-blocking until codebase refactoring is complete (13k+ violations)
42
43
 
43
- - name: Type checking with mypy
44
+ - name: Type checking with mypy (full codebase)
44
45
  run: mypy src/ --ignore-missing-imports
45
- continue-on-error: true # Non-blocking due to type errors in notebook schema
46
+ continue-on-error: true # Non-blocking due to type errors in remaining modules
47
+
48
+ - name: Type checking with mypy (priority modules)
49
+ run: |
50
+ # Check priority modules that have improved type annotations (issue #40)
51
+ # These modules have fewer errors and are gradually being fully typed
52
+ mypy src/mcli/lib/logger/logger.py src/mcli/lib/custom_commands.py --ignore-missing-imports
53
+ continue-on-error: true # Non-blocking until all function signatures are typed
46
54
 
47
55
  test-rust:
48
56
  name: Test Rust Extensions
@@ -86,7 +94,7 @@ jobs:
86
94
  fail-fast: false
87
95
  matrix:
88
96
  os: [ubuntu-latest, macos-latest]
89
- python-version: ["3.9", "3.10", "3.11", "3.12"]
97
+ python-version: ["3.10", "3.11", "3.12"]
90
98
 
91
99
  steps:
92
100
  - name: Checkout code
@@ -121,7 +129,7 @@ jobs:
121
129
  run: |
122
130
  cd mcli_rust
123
131
  maturin develop --release || maturin develop || echo "Warning: Rust extension build failed, continuing without extensions"
124
- continue-on-error: ${{ matrix.python-version == '3.12' || matrix.python-version == '3.9' }}
132
+ continue-on-error: ${{ matrix.python-version == '3.12' }}
125
133
 
126
134
  - name: Run Python tests with coverage
127
135
  run: |
@@ -162,21 +170,36 @@ jobs:
162
170
  - name: Set up Rust
163
171
  uses: dtolnay/rust-toolchain@stable
164
172
 
173
+ - name: Create virtual environment
174
+ run: |
175
+ python -m venv .venv
176
+ echo "VIRTUAL_ENV=${{ github.workspace }}/.venv" >> $GITHUB_ENV
177
+ echo "${{ github.workspace }}/.venv/bin" >> $GITHUB_PATH
178
+
165
179
  - name: Install dependencies
166
180
  run: |
167
- python -m pip install --upgrade pip
168
- pip install maturin
169
- pip install -e .[dev]
181
+ .venv/bin/python -m pip install --upgrade pip
182
+ .venv/bin/pip install maturin
183
+ .venv/bin/pip install -e .[dev]
170
184
 
171
185
  - name: Build Rust extensions
186
+ id: rust_build
172
187
  run: |
173
188
  cd mcli_rust
174
- maturin develop --release || maturin develop || echo "Warning: Rust extension build failed"
189
+ if maturin develop --release; then
190
+ echo "rust_available=true" >> $GITHUB_OUTPUT
191
+ elif maturin develop; then
192
+ echo "rust_available=true" >> $GITHUB_OUTPUT
193
+ else
194
+ echo "rust_available=false" >> $GITHUB_OUTPUT
195
+ echo "Warning: Rust extension build failed"
196
+ fi
175
197
  continue-on-error: true
176
198
 
177
199
  - name: Test Rust-Python integration
200
+ if: steps.rust_build.outputs.rust_available == 'true'
178
201
  run: |
179
- python -c "
202
+ .venv/bin/python -c "
180
203
  import mcli_rust
181
204
  print('✅ Rust extensions imported successfully')
182
205
 
@@ -203,17 +226,17 @@ jobs:
203
226
 
204
227
  - name: Test performance monitoring
205
228
  run: |
206
- mcli self performance --detailed
229
+ .venv/bin/mcli self performance --detailed
207
230
 
208
231
  - name: Test visual effects
209
232
  run: |
210
- mcli visual message --style success "Integration tests passed!"
211
- mcli visual spinner --spinner-type rust --duration 2 --message "Testing spinner..."
233
+ .venv/bin/mcli self visual message --style success "Integration tests passed!"
234
+ .venv/bin/mcli self visual spinner --spinner-type rust --duration 2 --message "Testing spinner..."
212
235
 
213
236
  security-scan:
214
237
  name: Security Scan
215
238
  runs-on: ubuntu-latest
216
- continue-on-error: true # Non-blocking due to occasional GitHub Actions infrastructure issues
239
+ continue-on-error: true # Non-blocking: CodeQL permissions and Trivy issues on this repo
217
240
 
218
241
  steps:
219
242
  - name: Checkout code
@@ -231,15 +254,18 @@ jobs:
231
254
 
232
255
  - name: Run Bandit security linter
233
256
  run: |
234
- bandit -r src/ -f json -o bandit-report.json || true
235
- bandit -r src/ -ll
236
- continue-on-error: true
257
+ # Run with skip list for CLI tool false positives
258
+ bandit -r src/ \
259
+ --severity-level high \
260
+ --skip B101,B102,B104,B108,B113,B301,B306,B310,B324,B404,B602,B603,B604,B605,B607 \
261
+ -f json -o bandit-report.json || true
262
+ # Also run a summary check (non-blocking)
263
+ bandit -r src/ -ll || true
237
264
 
238
265
  - name: Run Safety dependency check
239
266
  run: |
240
267
  safety check --json > safety-report.json || true
241
- safety check
242
- continue-on-error: true
268
+ safety check --ignore 59234,71691,71584,71578,71577,71692,71579,71587,71693,64459,64396
243
269
 
244
270
  - name: Run Trivy vulnerability scanner
245
271
  uses: aquasecurity/trivy-action@master
@@ -253,7 +279,6 @@ jobs:
253
279
  - name: Upload Trivy scan results
254
280
  uses: github/codeql-action/upload-sarif@v3
255
281
  if: always()
256
- continue-on-error: true
257
282
  with:
258
283
  sarif_file: 'trivy-results.sarif'
259
284
 
@@ -0,0 +1,48 @@
1
+ name: Validate Documentation Links
2
+
3
+ on:
4
+ push:
5
+ branches: [main, develop]
6
+ paths:
7
+ - 'docs/**'
8
+ - 'README.md'
9
+ - 'CONTRIBUTING.md'
10
+ - 'tools/validate_doc_links.py'
11
+ pull_request:
12
+ branches: [main]
13
+ paths:
14
+ - 'docs/**'
15
+ - 'README.md'
16
+ - 'CONTRIBUTING.md'
17
+ - 'tools/validate_doc_links.py'
18
+ workflow_dispatch:
19
+
20
+ env:
21
+ PYTHON_VERSION: "3.11"
22
+
23
+ jobs:
24
+ validate-links:
25
+ name: Validate Documentation Links
26
+ runs-on: ubuntu-latest
27
+
28
+ steps:
29
+ - name: Checkout code
30
+ uses: actions/checkout@v4
31
+
32
+ - name: Set up Python
33
+ uses: actions/setup-python@v4
34
+ with:
35
+ python-version: ${{ env.PYTHON_VERSION }}
36
+
37
+ - name: Install dependencies
38
+ run: |
39
+ python -m pip install --upgrade pip
40
+ pip install requests
41
+
42
+ - name: Validate internal links
43
+ run: python tools/validate_doc_links.py README.md docs/
44
+ continue-on-error: true # Non-blocking until broken links are fixed
45
+
46
+ - name: Validate external links (optional)
47
+ run: python tools/validate_doc_links.py --external --timeout 15 README.md docs/
48
+ continue-on-error: true # External links may timeout or be temporarily unavailable
@@ -135,10 +135,10 @@ jobs:
135
135
  password: ${{ secrets.TEST_PYPI_API_TOKEN }}
136
136
  skip-existing: true
137
137
 
138
- # Job 4: Publish to Production PyPI (main branch or release)
138
+ # Job 4: Publish to Production PyPI (main branch, release, or manual dispatch)
139
139
  publish-pypi:
140
140
  name: Publish to PyPI
141
- if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'release'
141
+ if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'release' || github.event_name == 'workflow_dispatch'
142
142
  needs: build
143
143
  runs-on: ubuntu-latest
144
144
  environment:
@@ -25,7 +25,7 @@ jobs:
25
25
  - name: Dependency Review
26
26
  uses: actions/dependency-review-action@v4
27
27
  with:
28
- fail-on-severity: high
28
+ fail-on-severity: moderate
29
29
  config-file: './.github/dependency-review-config.yml'
30
30
 
31
31
  bandit:
@@ -44,13 +44,24 @@ jobs:
44
44
  run: pip install bandit[toml]
45
45
 
46
46
  - name: Run Bandit
47
- run: bandit -r src/ -f json -o bandit-report.json || true
47
+ run: |
48
+ # Run bandit with severity filter (only fail on HIGH severity issues)
49
+ # Skip common false positives for CLI tools
50
+ bandit -r src/ \
51
+ --severity-level high \
52
+ --skip B101,B102,B104,B108,B113,B301,B306,B310,B324,B404,B602,B603,B604,B605,B607 \
53
+ -f json -o bandit-report.json || true
54
+
55
+ # Also generate a full report for review (non-blocking)
56
+ bandit -r src/ -f txt -o bandit-full-report.txt || true
48
57
 
49
58
  - name: Upload Bandit results
50
59
  uses: actions/upload-artifact@v4
51
60
  with:
52
61
  name: bandit-results
53
- path: bandit-report.json
62
+ path: |
63
+ bandit-report.json
64
+ bandit-full-report.txt
54
65
 
55
66
  safety:
56
67
  name: Safety Check
@@ -68,7 +79,7 @@ jobs:
68
79
  run: pip install safety
69
80
 
70
81
  - name: Run Safety Check
71
- run: safety check --json > safety-report.json || true
82
+ run: safety check --json > safety-report.json || safety check --ignore 59234,71691,71584,71578,71577,71692,71579,71587,71693,64459,64396
72
83
 
73
84
  - name: Upload Safety results
74
85
  uses: actions/upload-artifact@v4
@@ -100,6 +111,8 @@ jobs:
100
111
  secret-scan:
101
112
  name: Secret Scanning
102
113
  runs-on: ubuntu-latest
114
+ # Skip on schedule - TruffleHog requires different base/head commits for diff scanning
115
+ if: github.event_name != 'schedule'
103
116
  steps:
104
117
  - name: Checkout code
105
118
  uses: actions/checkout@v4
@@ -31,7 +31,7 @@ jobs:
31
31
  strategy:
32
32
  matrix:
33
33
  platform: [ubuntu-latest, macos-latest]
34
- python-version: ['3.9', '3.10', '3.11', '3.12']
34
+ python-version: ['3.10', '3.11', '3.12']
35
35
 
36
36
  runs-on: ${{ matrix.platform }}
37
37
 
@@ -3,6 +3,10 @@ include README.md
3
3
  include LICENSE
4
4
  include PERFORMANCE_OPTIMIZATIONS.md
5
5
 
6
+ # Include LLM/AI agent documentation (llms.txt convention)
7
+ include llms.txt
8
+ include llms-full.txt
9
+
6
10
  # Include configuration files
7
11
  include pyproject.toml
8
12
  include setup.cfg