mcli-framework 8.0.47__tar.gz → 8.0.48__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 (236) hide show
  1. {mcli_framework-8.0.47/src/mcli_framework.egg-info → mcli_framework-8.0.48}/PKG-INFO +1 -1
  2. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/pyproject.toml +1 -1
  3. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/sync_cmd.py +10 -9
  4. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/ipfs_sync.py +23 -17
  5. {mcli_framework-8.0.47 → mcli_framework-8.0.48/src/mcli_framework.egg-info}/PKG-INFO +1 -1
  6. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/LICENSE +0 -0
  7. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/MANIFEST.in +0 -0
  8. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/README.md +0 -0
  9. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/llms-full.txt +0 -0
  10. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/llms.txt +0 -0
  11. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/Cargo.toml +0 -0
  12. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/src/command_parser.rs +0 -0
  13. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/src/file_watcher.rs +0 -0
  14. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/src/lib.rs +0 -0
  15. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/src/process_manager.rs +0 -0
  16. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/mcli_rust/src/tfidf.rs +0 -0
  17. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/setup.cfg +0 -0
  18. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/__init__.py +0 -0
  19. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/__init__.py +0 -0
  20. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/commands_cmd.py +0 -0
  21. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/completion_helpers.py +0 -0
  22. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/context_cmd.py +0 -0
  23. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/create_cmd.py +0 -0
  24. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/delete_cmd.py +0 -0
  25. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/edit_cmd.py +0 -0
  26. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/import_cmd.py +0 -0
  27. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/init_cmd.py +0 -0
  28. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/list_cmd.py +0 -0
  29. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/main.py +0 -0
  30. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/migrate_cmd.py +0 -0
  31. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/model/__init__.py +0 -0
  32. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/model/model.py +0 -0
  33. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/model_cmd.py +0 -0
  34. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/mv_cmd.py +0 -0
  35. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/new_cmd.py +0 -0
  36. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/remove_cmd.py +0 -0
  37. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/rm_cmd.py +0 -0
  38. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/search_cmd.py +0 -0
  39. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/services_cmd.py +0 -0
  40. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/setup_cmd.py +0 -0
  41. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/source_sync_cmd.py +0 -0
  42. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/video/__init__.py +0 -0
  43. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/app/video/video.py +0 -0
  44. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/config.toml +0 -0
  45. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/__init__.py +0 -0
  46. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/__init__.py +0 -0
  47. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/api.py +0 -0
  48. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/daemon_client.py +0 -0
  49. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/daemon_client_local.py +0 -0
  50. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/daemon_decorator.py +0 -0
  51. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/api/mcli_decorators.py +0 -0
  52. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/__init__.py +0 -0
  53. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/auth.py +0 -0
  54. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/aws_manager.py +0 -0
  55. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/azure_manager.py +0 -0
  56. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/credential_manager.py +0 -0
  57. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/gcp_manager.py +0 -0
  58. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/key_manager.py +0 -0
  59. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/mcli_manager.py +0 -0
  60. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/token_manager.py +0 -0
  61. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/auth/token_util.py +0 -0
  62. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/config/__init__.py +0 -0
  63. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/config/config.py +0 -0
  64. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/config/settings.py +0 -0
  65. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/__init__.py +0 -0
  66. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/commands.py +0 -0
  67. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/defaults.py +0 -0
  68. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/env.py +0 -0
  69. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/messages.py +0 -0
  70. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/paths.py +0 -0
  71. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/scripts.py +0 -0
  72. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/constants/storage.py +0 -0
  73. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/custom_commands.py +0 -0
  74. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/discovery/__init__.py +0 -0
  75. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/discovery/command_discovery.py +0 -0
  76. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/erd/__init__.py +0 -0
  77. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/erd/erd.py +0 -0
  78. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/erd/generate_graph.py +0 -0
  79. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/errors.py +0 -0
  80. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/feature_detection.py +0 -0
  81. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/files/__init__.py +0 -0
  82. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/files/files.py +0 -0
  83. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/folder_workflows.py +0 -0
  84. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/fs/__init__.py +0 -0
  85. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/fs/fs.py +0 -0
  86. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/ipfs_utils.py +0 -0
  87. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/ipns_manager.py +0 -0
  88. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/lib.py +0 -0
  89. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/logger/__init__.py +0 -0
  90. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/logger/correlation.py +0 -0
  91. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/logger/logger.py +0 -0
  92. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/logger/structured.py +0 -0
  93. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/optional_deps.py +0 -0
  94. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/paths.py +0 -0
  95. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/performance/__init__.py +0 -0
  96. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/performance/optimizer.py +0 -0
  97. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/performance/rust_bridge.py +0 -0
  98. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/performance/uvloop_config.py +0 -0
  99. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pickles/__init__.py +0 -0
  100. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pickles/pickles.py +0 -0
  101. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pyenv/__init__.py +0 -0
  102. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pyenv/deps.py +0 -0
  103. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pyenv/manager.py +0 -0
  104. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/pyenv/venv.py +0 -0
  105. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/script_loader.py +0 -0
  106. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/script_sync.py +0 -0
  107. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/script_watcher.py +0 -0
  108. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/search/cached_vectorizer.py +0 -0
  109. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/secrets/__init__.py +0 -0
  110. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/secrets/commands.py +0 -0
  111. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/secrets/manager.py +0 -0
  112. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/secrets/repl.py +0 -0
  113. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/secrets/store.py +0 -0
  114. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/__init__.py +0 -0
  115. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/config.py +0 -0
  116. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/data_pipeline.py +0 -0
  117. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/health.py +0 -0
  118. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/lsh_client.py +0 -0
  119. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/manager.py +0 -0
  120. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/redis_service.py +0 -0
  121. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/registry.py +0 -0
  122. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/state.py +0 -0
  123. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/services/supervisor.py +0 -0
  124. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/shell/__init__.py +0 -0
  125. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/shell/exceptions.py +0 -0
  126. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/shell/shell.py +0 -0
  127. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/sync_key_store.py +0 -0
  128. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/templates/__init__.py +0 -0
  129. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/templates/command_templates.py +0 -0
  130. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/toml/__init__.py +0 -0
  131. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/toml/toml.py +0 -0
  132. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/types.py +0 -0
  133. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/ui/styling.py +0 -0
  134. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/ui/visual_effects.py +0 -0
  135. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/watcher/__init__.py +0 -0
  136. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/watcher/watcher.py +0 -0
  137. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/workflow_models.py +0 -0
  138. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/lib/workspace_registry.py +0 -0
  139. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/mygroup/__init__.py +0 -0
  140. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/mygroup/test_cmd.py +0 -0
  141. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/public/__init__.py +0 -0
  142. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/public/commands/__init__.py +0 -0
  143. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/public/oi/oi.py +0 -0
  144. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/public/public.py +0 -0
  145. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/__init__.py +0 -0
  146. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/completion_cmd.py +0 -0
  147. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/env_cmd.py +0 -0
  148. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/health_cmd.py +0 -0
  149. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/ipfs_cmd.py +0 -0
  150. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/logs_cmd.py +0 -0
  151. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/migrate_cmd.py +0 -0
  152. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/release_notes_cmd.py +0 -0
  153. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/self_cmd.py +0 -0
  154. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/store_cmd.py +0 -0
  155. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/test_cmd.py +0 -0
  156. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/self/workflows_cmd.py +0 -0
  157. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/__init__.py +0 -0
  158. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/backends/__init__.py +0 -0
  159. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/backends/ipfs_backend.py +0 -0
  160. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/base.py +0 -0
  161. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/cache.py +0 -0
  162. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/encryption.py +0 -0
  163. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/factory.py +0 -0
  164. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/registry.py +0 -0
  165. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/storage/storacha_cli.py +0 -0
  166. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/__init__.py +0 -0
  167. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/__init__.py +0 -0
  168. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/async_command_database.py +0 -0
  169. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
  170. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/client.py +0 -0
  171. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/daemon.py +0 -0
  172. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/daemon_api.py +0 -0
  173. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
  174. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/process_cli.py +0 -0
  175. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/process_manager.py +0 -0
  176. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/daemon/test_daemon.py +0 -0
  177. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/doc_convert.py +0 -0
  178. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/docker/__init__.py +0 -0
  179. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/docker/docker.py +0 -0
  180. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/file/__init__.py +0 -0
  181. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/gcloud/__init__.py +0 -0
  182. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/gcloud/config.toml +0 -0
  183. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/gcloud/gcloud.py +0 -0
  184. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/git_commit/__init__.py +0 -0
  185. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/git_commit/ai_service.py +0 -0
  186. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/interview/__init__.py +0 -0
  187. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/lsh_integration.py +0 -0
  188. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/client.py +0 -0
  189. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
  190. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
  191. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
  192. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
  193. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/model_service.py +0 -0
  194. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
  195. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
  196. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
  197. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
  198. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/test_example.py +0 -0
  199. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/test_integration.py +0 -0
  200. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/model_service/test_new_features.py +0 -0
  201. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/__init__.py +0 -0
  202. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/command_loader.py +0 -0
  203. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/converter.py +0 -0
  204. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/executor.py +0 -0
  205. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
  206. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/schema.py +0 -0
  207. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/notebook/validator.py +0 -0
  208. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/openai/openai.py +0 -0
  209. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/registry/__init__.py +0 -0
  210. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/registry/registry.py +0 -0
  211. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/repo/__init__.py +0 -0
  212. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/repo/repo.py +0 -0
  213. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/__init__.py +0 -0
  214. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
  215. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/job.py +0 -0
  216. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/models.py +0 -0
  217. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/monitor.py +0 -0
  218. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/persistence.py +0 -0
  219. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/scheduler.py +0 -0
  220. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/scheduler/validation.py +0 -0
  221. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/search/__init__.py +0 -0
  222. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/secrets/__init__.py +0 -0
  223. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/secrets/secrets_cmd.py +0 -0
  224. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/storage/__init__.py +0 -0
  225. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/storage/storage_cmd.py +0 -0
  226. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/sync/__init__.py +0 -0
  227. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/sync/test_cmd.py +0 -0
  228. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/videos/__init__.py +0 -0
  229. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/wakatime/__init__.py +0 -0
  230. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/wakatime/wakatime.py +0 -0
  231. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli/workflow/workflow.py +0 -0
  232. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli_framework.egg-info/SOURCES.txt +0 -0
  233. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
  234. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli_framework.egg-info/entry_points.txt +0 -0
  235. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/src/mcli_framework.egg-info/requires.txt +0 -0
  236. {mcli_framework-8.0.47 → mcli_framework-8.0.48}/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.47
3
+ Version: 8.0.48
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.47"
3
+ version = "8.0.48"
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"
@@ -495,20 +495,17 @@ def sync_pull_command(
495
495
 
496
496
  ipfs = IPFSSync()
497
497
 
498
- if cid:
499
- # Explicit CID — just retrieve it
500
- info(SyncMessages.RETRIEVING_FROM_IPFS.format(cid=cid))
501
- data = ipfs.pull(cid, verify=not no_verify)
502
- else:
503
- # No CID — resolve via IPNS
498
+ if not cid:
499
+ # No CID — resolve via IPNS, then fall through to the explicit-CID flow
500
+ # so that --workflows-dir extraction also works for IPNS-resolved pulls.
504
501
  if not ensure_daemon_running():
505
502
  error(SyncMessages.DAEMON_START_FAILED)
506
503
  return
507
504
 
508
505
  info(SyncMessages.IPNS_RESOLVING)
509
- data = ipfs.pull_latest(scope="global", repo_name=repo)
506
+ cid = ipfs.resolve_latest_cid(scope="global", repo_name=repo)
510
507
 
511
- if data is None:
508
+ if not cid:
512
509
  from mcli.lib.ipns_manager import get_sync_key
513
510
 
514
511
  if not get_sync_key():
@@ -520,6 +517,10 @@ def sync_pull_command(
520
517
  console.print(SyncMessages.IPNS_PULL_HINT)
521
518
  return
522
519
 
520
+ # Explicit or just-resolved CID — retrieve it
521
+ info(SyncMessages.RETRIEVING_FROM_IPFS.format(cid=cid))
522
+ data = ipfs.pull(cid, verify=not no_verify)
523
+
523
524
  if data:
524
525
  success(SyncMessages.RETRIEVED_FROM_IPFS)
525
526
 
@@ -543,7 +544,7 @@ def sync_pull_command(
543
544
  console.print(SyncMessages.VERSION_LABEL.format(version=data["version"]))
544
545
 
545
546
  # Optional: reconstruct script files from per-script CIDs
546
- if workflows_dir and cid:
547
+ if workflows_dir:
547
548
  try:
548
549
  written = ipfs.pull_workflows(cid, workflows_dir, verify=not no_verify)
549
550
  except ValueError as exc:
@@ -541,45 +541,51 @@ class IPFSSync:
541
541
 
542
542
  return written
543
543
 
544
- def pull_latest(
544
+ def resolve_latest_cid(
545
545
  self,
546
546
  scope: str = "global",
547
547
  repo_name: Optional[str] = None,
548
- verify: bool = True,
549
- ) -> Optional[dict]:
550
- """Pull the latest workflow state by resolving via IPNS.
551
-
552
- Requires MCLI_SYNC_KEY to be set. Uses deterministic IPNS key
553
- derivation to find the latest CID without explicit CID sharing.
548
+ ) -> Optional[str]:
549
+ """Resolve the deterministic IPNS name to a current CID.
554
550
 
555
- Args:
556
- scope: Sync scope (e.g. "global" or "local")
557
- repo_name: Override auto-detected repo name (for cross-repo pull)
558
- verify: Whether to verify hash integrity
559
-
560
- Returns:
561
- Command data if successful, None otherwise
551
+ Returns the CID string on success, ``None`` if the sync key is
552
+ unset, the key cannot be imported into Kubo, or IPNS resolution
553
+ fails. Surfaces the CID so CLI callers can hand it to
554
+ ``pull_workflows`` for script extraction.
562
555
  """
563
556
  sync_key = get_sync_key()
564
557
  if not sync_key:
565
- logger.warning("MCLI_SYNC_KEY not set — cannot resolve via IPNS")
558
+ logger.warning("Sync key not configured — cannot resolve via IPNS")
566
559
  return None
567
560
 
568
561
  repo = repo_name or get_repo_name()
569
562
  key_info = derive_key_info(sync_key, repo, scope)
570
563
 
571
- # Ensure key is in Kubo so we can resolve
572
564
  ipns_name = ensure_key_imported(key_info)
573
565
  if not ipns_name:
574
566
  logger.error("Failed to import IPNS key into Kubo")
575
567
  return None
576
568
 
577
- # Resolve IPNS to CID
578
569
  cid = resolve_ipns(ipns_name)
579
570
  if not cid:
580
571
  logger.error("IPNS resolution failed — no workflows published yet?")
581
572
  return None
573
+ return cid
574
+
575
+ def pull_latest(
576
+ self,
577
+ scope: str = "global",
578
+ repo_name: Optional[str] = None,
579
+ verify: bool = True,
580
+ ) -> Optional[dict]:
581
+ """Pull the latest workflow state by resolving via IPNS.
582
582
 
583
+ Requires the sync key to be configured (env var or store).
584
+ Returns the command data dict on success, ``None`` otherwise.
585
+ """
586
+ cid = self.resolve_latest_cid(scope=scope, repo_name=repo_name)
587
+ if not cid:
588
+ return None
583
589
  return self.pull(cid, verify=verify)
584
590
 
585
591
  def get_history(self, limit: int = 10) -> list[dict]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcli-framework
3
- Version: 8.0.47
3
+ Version: 8.0.48
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