mcli-framework 8.0.57__tar.gz → 8.0.59__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.
- {mcli_framework-8.0.57/src/mcli_framework.egg-info → mcli_framework-8.0.59}/PKG-INFO +1 -1
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/pyproject.toml +1 -1
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/messages.py +1 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pyenv/venv.py +6 -2
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/ci/act_runner.py +33 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59/src/mcli_framework.egg-info}/PKG-INFO +1 -1
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/LICENSE +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/MANIFEST.in +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/README.md +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/llms-full.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/llms.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/Cargo.toml +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/src/command_parser.rs +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/src/file_watcher.rs +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/src/lib.rs +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/src/process_manager.rs +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/mcli_rust/src/tfidf.rs +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/setup.cfg +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/__main__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/completion_helpers.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/context_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/delete_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/edit_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/import_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/init_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/list_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/main.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/model/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/model/model.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/model_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/mv_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/new_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/search_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/services_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/setup_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/source_sync_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/sync_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/video/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/app/video/video.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/config.toml +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/api.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/daemon_client.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/daemon_client_local.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/daemon_decorator.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/api/mcli_decorators.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/auth.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/aws_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/azure_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/credential_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/gcp_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/key_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/mcli_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/token_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/auth/token_util.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/config/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/config/config.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/config/settings.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/commands.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/defaults.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/env.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/paths.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/scripts.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/constants/storage.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/custom_commands.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/discovery/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/discovery/command_discovery.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/erd/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/erd/erd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/erd/generate_graph.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/errors.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/feature_detection.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/files/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/files/files.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/folder_workflows.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/fs/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/fs/fs.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/ipfs_sync.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/ipfs_utils.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/ipns_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/lib.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/logger/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/logger/correlation.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/logger/logger.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/logger/structured.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/optional_deps.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/paths.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/performance/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/performance/optimizer.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/performance/rust_bridge.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/performance/uvloop_config.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pickles/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pickles/pickles.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pyenv/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pyenv/deps.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/pyenv/manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/script_loader.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/script_sync.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/script_watcher.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/search/cached_vectorizer.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/secrets/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/secrets/commands.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/secrets/manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/secrets/repl.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/secrets/store.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/config.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/data_pipeline.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/health.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/lsh_client.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/redis_service.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/registry.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/state.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/services/supervisor.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/shell/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/shell/exceptions.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/shell/shell.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/sync_key_store.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/templates/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/templates/command_templates.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/toml/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/toml/toml.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/types.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/ui/styling.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/ui/visual_effects.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/watcher/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/watcher/watcher.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/workflow_models.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/lib/workspace_registry.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/mygroup/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/mygroup/test_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/public/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/public/commands/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/public/oi/oi.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/public/public.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/completion_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/env_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/health_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/ipfs_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/logs_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/migrate_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/release_notes_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/self_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/store_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/test_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/self/workflows_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/backends/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/backends/ipfs_backend.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/base.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/cache.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/encryption.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/factory.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/registry.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/storage/storacha_cli.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/ci/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/ci/ci.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/ci/runner_status.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/ci/workflow_transform.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/async_command_database.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/async_process_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/client.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/daemon.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/daemon_api.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/enhanced_daemon.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/process_cli.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/process_manager.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/test_daemon.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/doc_convert.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/docker/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/docker/docker.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/file/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/gcloud/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/gcloud/config.toml +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/gcloud/gcloud.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/git_commit/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/git_commit/ai_service.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/interview/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/lsh_integration.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/client.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/download_and_run_efficient_models.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/lightweight_embedder.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/lightweight_model_server.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/lightweight_test.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/model_service.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/ollama_efficient_runner.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/openai_adapter.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/pdf_processor.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_efficient_runner.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_example.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_integration.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_new_features.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/command_loader.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/converter.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/executor.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/notebook_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/schema.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/validator.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/openai/openai.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/registry/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/registry/registry.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/repo/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/repo/repo.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/cron_parser.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/job.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/models.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/monitor.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/persistence.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/scheduler.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/scheduler/validation.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/search/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/secrets/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/secrets/secrets_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/storage/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/storage/storage_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/sync/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/sync/test_cmd.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/videos/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/wakatime/__init__.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/wakatime/wakatime.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/workflow.py +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/SOURCES.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/dependency_links.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/entry_points.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/requires.txt +0 -0
- {mcli_framework-8.0.57 → mcli_framework-8.0.59}/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.
|
|
3
|
+
Version: 8.0.59
|
|
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.
|
|
3
|
+
version = "8.0.59"
|
|
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"
|
|
@@ -1124,6 +1124,7 @@ class VenvMessages:
|
|
|
1124
1124
|
USING_SYSTEM_PYTHON_ENV_SET = "Using system Python (MCLI_USE_SYSTEM_PYTHON set)"
|
|
1125
1125
|
CREATING_GLOBAL_VENV = "Creating global MCLI venv at {path}..."
|
|
1126
1126
|
GLOBAL_VENV_CREATED = "Created global MCLI venv at {path}"
|
|
1127
|
+
GLOBAL_VENV_ALREADY_EXISTS = "Global venv already exists at {path}"
|
|
1127
1128
|
|
|
1128
1129
|
# Dependency messages
|
|
1129
1130
|
NO_DEPS_SPECIFIED = "No dependencies specified"
|
|
@@ -67,7 +67,7 @@ class VenvManager:
|
|
|
67
67
|
venv_path = self.get_global_venv_path()
|
|
68
68
|
|
|
69
69
|
if venv_path.is_dir() and self._is_valid_venv(venv_path):
|
|
70
|
-
logger.debug(
|
|
70
|
+
logger.debug(VenvMessages.GLOBAL_VENV_ALREADY_EXISTS.format(path=venv_path))
|
|
71
71
|
return venv_path
|
|
72
72
|
|
|
73
73
|
logger.info(VenvMessages.CREATING_GLOBAL_VENV.format(path=venv_path))
|
|
@@ -95,8 +95,12 @@ class VenvManager:
|
|
|
95
95
|
venv_path.parent.mkdir(parents=True, exist_ok=True)
|
|
96
96
|
|
|
97
97
|
try:
|
|
98
|
+
# --clear recreates over an existing directory. ensure_global_venv()
|
|
99
|
+
# only calls this when no *valid* venv exists, so a directory present
|
|
100
|
+
# here is stale/partial (e.g. pyvenv.cfg but no bin/python). Without
|
|
101
|
+
# --clear, uv aborts with "A virtual environment already exists".
|
|
98
102
|
result = subprocess.run(
|
|
99
|
-
["uv", "venv", str(venv_path)],
|
|
103
|
+
["uv", "venv", "--clear", str(venv_path)],
|
|
100
104
|
capture_output=True,
|
|
101
105
|
text=True,
|
|
102
106
|
timeout=60,
|
|
@@ -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.
|
|
3
|
+
Version: 8.0.59
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/async_command_database.py
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/daemon/async_process_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/lightweight_test.py
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/model_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/openai_adapter.py
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/pdf_processor.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_example.py
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_integration.py
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/model_service/test_new_features.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli/workflow/notebook/command_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{mcli_framework-8.0.57 → mcli_framework-8.0.59}/src/mcli_framework.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|