machineconfig 6.85__tar.gz → 6.87__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.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- {machineconfig-6.85/src/machineconfig.egg-info → machineconfig-6.87}/PKG-INFO +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/pyproject.toml +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/agents.py +8 -10
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/fire_jobs.py +9 -12
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/agentic_frameworks/fire_crush.py +11 -11
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/agentic_frameworks/fire_gemini.py +10 -12
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/agentic_frameworks/fire_qwen.py +5 -6
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/fire_agents_help_launch.py +11 -8
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/fire_agents_helper_types.py +4 -14
- machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt +6 -0
- machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents/templates/template.sh +24 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_utils.py +17 -0
- machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire/helpers4.py → machineconfig-6.87/src/machineconfig/scripts/python/helpers_fire_command/file_wrangler.py +40 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_nfs +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/sessions.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/utils.py +9 -22
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/meta.py +4 -3
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/ssh.py +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/upgrade_packages.py +28 -24
- {machineconfig-6.85 → machineconfig-6.87/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig.egg-info/SOURCES.txt +15 -15
- machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
- machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire/template.sh +0 -15
- {machineconfig-6.85 → machineconfig-6.87}/MANIFEST.in +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/README.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/setup.cfg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/run_cloud.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/run_cluster.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/run_remote.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/utils/maker.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_restart.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_helper_with_panes.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/sessions_managers/zellij_utils/zellij_local_manager_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/check_installations.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom/boxes.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/installer_data.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/lid.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/network.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/package_groups.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_add_key.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/jobs/installer/powershell_scripts/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/logger.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/backup.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/bash_shell_profiles.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/create_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/create_links.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/create_links_export.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/create_shell_profile.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/mapper.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/Restore-ThunderbirdProfile.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/mcfgs +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/other/share_cloud.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/other/share_nfs +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/other/start_docker +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/other/switch_ip +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/linux/term +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/command_runner/command_runner.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ai/vscode_tasks.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/cloud.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/devops_navigator.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/env_manager/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/env_manager/path_manager_backend.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_cloud → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/__init__.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_croshell → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents/agentic_frameworks}/__init__.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/agentic_frameworks/fire_crush.json +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/fire_agents_help_search.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents}/fire_agents_load_balancer.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_agents/templates}/template.ps1 +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_devops → machineconfig-6.87/src/machineconfig/scripts/python/helpers_cloud}/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/cloud_copy.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/cloud_mount.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/cloud_sync.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/helpers2.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_cloud/helpers5.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_devops/themes → machineconfig-6.87/src/machineconfig/scripts/python/helpers_croshell}/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/crosh.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/pomodoro.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/scheduler.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/start_slidev.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/viewer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_croshell/viewer_template.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire → machineconfig-6.87/src/machineconfig/scripts/python/helpers_devops}/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_data.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_nw.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_repos.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_share_server.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/cli_terminal.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/devops_status.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/devops_update_repos.py +0 -0
- {machineconfig-6.85/src/machineconfig/scripts/python/helpers_fire/agentic_frameworks → machineconfig-6.87/src/machineconfig/scripts/python/helpers_devops/themes}/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.bash +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_fire_command/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_fire_command/cloud_manager.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/command_builder.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/command_detail.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/command_tree.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/data_models.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/main_app.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_navigator/search_bar.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/action.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/action_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/clone.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/count_lines.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/entrypoint.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/grource.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/record.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/sync.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_repos/update.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/helpers_sessions/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/mcfg.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/add_ssh_key.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/devops_add_identity.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/devops_add_ssh_key.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_drive +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_nfs.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_nw_drive +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_nw_drive.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_smb +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/mount_ssh.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/onetimeshare.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/ssh_debug_linux.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/ssh_debug_windows.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/wifi_conn.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/nw/wsl_windows_transfer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/python/terminal.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mcfgs.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/mount_nfs.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/mount_nw.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/mount_smb.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/share_cloud.cmd +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/share_smb.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/scripts/windows/term.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/marimo/marimo.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/shells/zsh/init.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/apps.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/apps_desktop.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/apps_gui.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/others/android.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/others/cli_installation.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/ssh/openssh_all.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/ssh/openssh_wsl.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_linux/uv.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_mac/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_mac/apps.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_mac/ssh/openssh_setup.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_mac/uv.sh +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/apps.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/others/power_options.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/ssh/add-sshkey.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/ssh/add_identity.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/ssh/openssh-server.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/uv.ps1 +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/cloud/onedrive/README.md +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/art/fat_croco.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/art/halfwit_croco.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/art/happy_croco.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/art/water_croco.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/ascii_art.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/dbms.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/headers.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/ouch/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/ouch/decompress.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/files/read.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer_utils/installer.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/ssh_utils/utils.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/tst.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-6.85 → machineconfig-6.87}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from typing import cast, Optional, get_args, Annotated
|
|
7
7
|
import typer
|
|
8
|
-
from machineconfig.scripts.python.
|
|
8
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AGENTS, HOST, PROVIDER
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def create(
|
|
12
12
|
agent: Annotated[AGENTS, typer.Option(..., "--agents", "-a", help=f"Agent type. One of {', '.join(get_args(AGENTS)[:3])}")],
|
|
13
13
|
host: Annotated[HOST, typer.Option(..., "--host", "-h", help=f"Machine to run agents on. One of {', '.join(get_args(HOST))}")],
|
|
14
|
-
model: Annotated[
|
|
14
|
+
model: Annotated[str, typer.Option(..., "--model", "-m", help="Model to use (for crush agent).")],
|
|
15
15
|
provider: Annotated[PROVIDER, typer.Option(..., "--provider", "-p", help=f"Provider to use (for crush agent). One of {', '.join(get_args(PROVIDER)[:3])}")],
|
|
16
16
|
context_path: Annotated[Optional[Path], typer.Option(..., "--context-path", "-c", help="Path to the context file/folder, defaults to .ai/todo/")] = None,
|
|
17
17
|
separator: Annotated[str, typer.Option(..., "--separator", "-s", help="Separator for context")] = "\n",
|
|
@@ -24,8 +24,8 @@ def create(
|
|
|
24
24
|
agents_dir: Annotated[Optional[Path], typer.Option(..., "--agents-dir", "-ad", help="Directory to store agent files. If not provided, will be constructed automatically.")] = None,
|
|
25
25
|
):
|
|
26
26
|
|
|
27
|
-
from machineconfig.scripts.python.
|
|
28
|
-
from machineconfig.scripts.python.
|
|
27
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_help_launch import prep_agent_launch, get_agents_launch_layout
|
|
28
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_load_balancer import chunk_prompts
|
|
29
29
|
from machineconfig.utils.accessories import get_repo_root, randstr
|
|
30
30
|
import json
|
|
31
31
|
|
|
@@ -85,7 +85,7 @@ agents create "{context_path_resolved}" \\
|
|
|
85
85
|
--separator "{separator}" \\
|
|
86
86
|
{"--separate" if separate else ""}
|
|
87
87
|
"""
|
|
88
|
-
(agents_dir / "aa_agents_relaunch.
|
|
88
|
+
(agents_dir / "aa_agents_relaunch.sh").write_text(data=regenerate_py_code, encoding="utf-8")
|
|
89
89
|
layout_output_path = output_path if output_path is not None else agents_dir / "layout.json"
|
|
90
90
|
layout_output_path.parent.mkdir(parents=True, exist_ok=True)
|
|
91
91
|
layout_output_path.write_text(data=json.dumps(layoutfile, indent=4), encoding="utf-8")
|
|
@@ -136,11 +136,11 @@ def collect(
|
|
|
136
136
|
|
|
137
137
|
def template():
|
|
138
138
|
from platform import system
|
|
139
|
-
import machineconfig.scripts.python.
|
|
139
|
+
import machineconfig.scripts.python.helpers_agents as module
|
|
140
140
|
if system() == "Linux" or system() == "Darwin":
|
|
141
|
-
template_path = Path(module.__file__).parent / "template.sh"
|
|
141
|
+
template_path = Path(module.__file__).parent / "templates/template.sh"
|
|
142
142
|
elif system() == "Windows":
|
|
143
|
-
template_path = Path(module.__file__).parent / "template.ps1"
|
|
143
|
+
template_path = Path(module.__file__).parent / "templates/template.ps1"
|
|
144
144
|
else:
|
|
145
145
|
raise typer.BadParameter(f"Unsupported OS: {system()}")
|
|
146
146
|
|
|
@@ -168,8 +168,6 @@ def get_app():
|
|
|
168
168
|
PROVIDER options: {', '.join(get_args(PROVIDER))}
|
|
169
169
|
{sep}
|
|
170
170
|
AGENT options: {', '.join(get_args(AGENTS))}
|
|
171
|
-
{sep}
|
|
172
|
-
MODEL options: {sep.join(get_args(MODEL))}
|
|
173
171
|
"""
|
|
174
172
|
agents_app.command("create", no_args_is_help=True, help=agents_full_help)(create)
|
|
175
173
|
agents_app.command("c", no_args_is_help=True, help="Create agents layout file, ready to run.", hidden=True)(create)
|
|
@@ -26,7 +26,7 @@ def route(args: FireJobArgs, fire_args: str = "") -> None:
|
|
|
26
26
|
suffixes = {".py", ".sh", ".ps1"}
|
|
27
27
|
choice_file = match_file_name(sub_string=args.path, search_root=PathExtended.cwd(), suffixes=suffixes)
|
|
28
28
|
elif path_obj.is_dir():
|
|
29
|
-
from machineconfig.scripts.python.
|
|
29
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import search_for_files_of_interest
|
|
30
30
|
print(f"🔍 Searching recursively for Python, PowerShell and Shell scripts in directory `{path_obj}`")
|
|
31
31
|
files = search_for_files_of_interest(path_obj)
|
|
32
32
|
print(f"🔍 Got #{len(files)} results.")
|
|
@@ -67,25 +67,26 @@ uv run --project {repo_root} --with marimo marimo edit --host 0.0.0.0 marimo_nb.
|
|
|
67
67
|
|
|
68
68
|
if choice_file.suffix == ".py":
|
|
69
69
|
from machineconfig.scripts.python.helpers_fire_command.fire_jobs_route_helper import get_command_streamlit
|
|
70
|
+
with_project = f"--project {repo_root} " if repo_root is not None else ""
|
|
70
71
|
if args.streamlit:
|
|
71
72
|
exe = get_command_streamlit(choice_file=choice_file, environment=args.environment, repo_root=repo_root)
|
|
72
|
-
exe = f"uv run {exe} "
|
|
73
|
-
elif args.jupyter: exe = "uv run jupyter-lab"
|
|
73
|
+
exe = f"uv run {with_project} {exe} "
|
|
74
|
+
elif args.jupyter: exe = f"uv run {with_project} jupyter-lab"
|
|
74
75
|
else:
|
|
75
76
|
if args.interactive:
|
|
76
77
|
_ve_root_from_file, ipy_profile = get_ve_path_and_ipython_profile(choice_file)
|
|
77
78
|
if ipy_profile is None:
|
|
78
79
|
ipy_profile = "default"
|
|
79
|
-
exe = f"uv run ipython -i --no-banner --profile {ipy_profile} "
|
|
80
|
+
exe = f"uv run {with_project} ipython -i --no-banner --profile {ipy_profile} "
|
|
80
81
|
else:
|
|
81
|
-
exe = "uv run python "
|
|
82
|
+
exe = f"uv run {with_project} python "
|
|
82
83
|
elif choice_file.suffix == ".ps1" or choice_file.suffix == ".sh": exe = "."
|
|
83
84
|
elif choice_file.suffix == "": exe = ""
|
|
84
85
|
else: raise NotImplementedError(f"File type {choice_file.suffix} not supported, in the sense that I don't know how to fire it.")
|
|
85
86
|
|
|
86
87
|
if args.module or (args.debug and args.choose_function): # because debugging tools do not support choosing functions and don't interplay with fire module. So the only way to have debugging and choose function options is to import the file as a module into a new script and run the function of interest there and debug the new script.
|
|
87
88
|
assert choice_file.suffix == ".py", f"File must be a python file to be imported as a module. Got {choice_file}"
|
|
88
|
-
from machineconfig.scripts.python.
|
|
89
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import get_import_module_code, wrap_import_in_try_except
|
|
89
90
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
90
91
|
from machineconfig.utils.code import print_code
|
|
91
92
|
import_code = get_import_module_code(str(choice_file))
|
|
@@ -155,12 +156,8 @@ uv run --project {repo_root} --with marimo marimo edit --host 0.0.0.0 marimo_nb.
|
|
|
155
156
|
if args.git_pull:
|
|
156
157
|
command = f"\ngit -C {choice_file.parent} pull\n" + command
|
|
157
158
|
if args.PathExport:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
elif platform.system() == "Windows":
|
|
161
|
-
export_line = f"""$env:PYTHONPATH="{repo_root}""" + """:$env:PYTHONPATH" """
|
|
162
|
-
else:
|
|
163
|
-
raise NotImplementedError(f"Platform {platform.system()} not supported.")
|
|
159
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import add_to_path
|
|
160
|
+
export_line = add_to_path(path_variable="PYTHONPATH", directory=str(repo_root))
|
|
164
161
|
command = export_line + "\n" + command
|
|
165
162
|
if args.loop:
|
|
166
163
|
if platform.system() in ["Linux", "Darwin"]:
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
# import shlex
|
|
4
|
-
from
|
|
5
|
-
from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST, PROVIDER, MODEL
|
|
4
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AI_SPEC
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
def fire_crush(
|
|
9
|
-
match machine:
|
|
7
|
+
def fire_crush(ai_spec: AI_SPEC, prompt_path: Path, repo_root: Path) -> str:
|
|
8
|
+
match ai_spec["machine"]:
|
|
10
9
|
case "local":
|
|
11
10
|
cmd = f"""
|
|
12
11
|
crush run {prompt_path}
|
|
13
12
|
"""
|
|
14
13
|
case "docker":
|
|
15
|
-
assert api_key is not None, "API key is required for Crush agent in docker mode."
|
|
14
|
+
assert ai_spec["api_key"] is not None, "API key is required for Crush agent in docker mode."
|
|
16
15
|
json_path = Path(__file__).parent / "fire_crush.json"
|
|
17
16
|
json_template = json_path.read_text(encoding="utf-8")
|
|
18
|
-
json_filled = json_template.replace("{api_key}", api_key).replace("{model}", model).replace("{provider}", provider)
|
|
19
|
-
import
|
|
20
|
-
temp_config_file_local =
|
|
17
|
+
json_filled = json_template.replace("{api_key}", ai_spec["api_key"]).replace("{model}", ai_spec["model"]).replace("{provider}", ai_spec["provider"])
|
|
18
|
+
from machineconfig.utils.accessories import randstr
|
|
19
|
+
temp_config_file_local = Path.home().joinpath("tmp_results/tmp_files/crush_" + randstr(8) + ".json")
|
|
20
|
+
temp_config_file_local.parent.mkdir(parents=True, exist_ok=True)
|
|
21
21
|
Path(temp_config_file_local).write_text(json_filled, encoding="utf-8")
|
|
22
22
|
cmd = f"""
|
|
23
23
|
|
|
24
24
|
# -e "PATH_PROMPT=$PATH_PROMPT"
|
|
25
|
-
# opencode --model "{provider}/{model}" run {prompt_path}
|
|
26
|
-
|
|
25
|
+
# opencode --model "{ai_spec["provider"]}/{ai_spec["model"]}" run {prompt_path}
|
|
26
|
+
|
|
27
27
|
|
|
28
28
|
echo "Running prompt @ {prompt_path.relative_to(repo_root)} using Docker with Crush..."
|
|
29
29
|
docker run -it --rm \
|
|
30
30
|
-v "{repo_root}:/workspace/{repo_root.name}" \
|
|
31
31
|
-v "{temp_config_file_local}:/root/.local/share/crush/crush.json" \
|
|
32
32
|
-w "/workspace/{repo_root.name}" \
|
|
33
|
-
statistician/machineconfig:latest \
|
|
33
|
+
statistician/machineconfig-ai:latest \
|
|
34
34
|
bash -i -c "source ~/.bashrc && cd /workspace/{repo_root.name} && cat /root/.local/share/crush/crush.json && crush run 'Please act on contents of this prompt ./{prompt_path.relative_to(repo_root)}'"
|
|
35
35
|
|
|
36
36
|
"""
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
# import shlex
|
|
5
|
-
from machineconfig.scripts.python.
|
|
6
|
-
from typing import Optional
|
|
5
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AI_SPEC
|
|
7
6
|
|
|
8
|
-
def fire_cursor(
|
|
9
|
-
match machine:
|
|
7
|
+
def fire_cursor(ai_spec: AI_SPEC, prompt_path: Path) -> str:
|
|
8
|
+
match ai_spec["machine"]:
|
|
10
9
|
case "local":
|
|
11
10
|
# Export the environment variable so it's available to subshells
|
|
12
11
|
cmd = f"""
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
import shlex
|
|
4
|
-
from machineconfig.scripts.python.
|
|
5
|
-
from typing import Optional, Literal
|
|
4
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AI_SPEC
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
def fire_gemini(
|
|
9
|
-
_ = provider
|
|
7
|
+
def fire_gemini(ai_spec: AI_SPEC, prompt_path: Path, repo_root: Path) -> str:
|
|
8
|
+
_ = ai_spec["provider"]
|
|
10
9
|
# model = "gemini-2.5-flash-lite"
|
|
11
10
|
# model = None # auto-select
|
|
12
11
|
# if model is None:
|
|
13
12
|
# model_arg = ""
|
|
14
13
|
# else:
|
|
15
|
-
model_arg = f"--model {shlex.quote(model)}"
|
|
14
|
+
model_arg = f"--model {shlex.quote(ai_spec['model'])}"
|
|
16
15
|
# Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
|
|
17
16
|
safe_path = shlex.quote(str(prompt_path))
|
|
18
17
|
|
|
19
|
-
match machine:
|
|
18
|
+
match ai_spec["machine"]:
|
|
20
19
|
case "local":
|
|
21
20
|
# Export the environment variable so it's available to subshells
|
|
22
|
-
if api_key is not None:
|
|
23
|
-
define_api_key = f"""export GEMINI_API_KEY="{shlex.quote(api_key)}" """
|
|
21
|
+
if ai_spec["api_key"] is not None:
|
|
22
|
+
define_api_key = f"""export GEMINI_API_KEY="{shlex.quote(ai_spec['api_key'])}" """
|
|
24
23
|
else:
|
|
25
24
|
define_api_key = "echo 'Warning: No GEMINI_API_KEY provided, hoping it is set in the environment.'"
|
|
26
25
|
cmd = f"""
|
|
@@ -31,14 +30,13 @@ gemini {model_arg} --yolo --prompt {safe_path}
|
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
case "docker":
|
|
34
|
-
assert api_key is not None, "When using docker, api_key must be provided."
|
|
33
|
+
assert ai_spec["api_key"] is not None, "When using docker, api_key must be provided."
|
|
35
34
|
cmd = f"""
|
|
36
35
|
docker run -it --rm \
|
|
37
|
-
-e GEMINI_API_KEY="{api_key}" \
|
|
36
|
+
-e GEMINI_API_KEY="{ai_spec['api_key']}" \
|
|
38
37
|
-v "{repo_root}:/workspace/{repo_root.name}" \
|
|
39
38
|
-w "/workspace/{repo_root.name}" \
|
|
40
|
-
statistician/machineconfig:latest \
|
|
39
|
+
statistician/machineconfig-ai:latest \
|
|
41
40
|
gemini --prompt "$PATH_PROMPT"
|
|
42
41
|
"""
|
|
43
42
|
return cmd
|
|
44
|
-
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
import shlex
|
|
4
|
-
from machineconfig.scripts.python.
|
|
5
|
-
from typing import Optional, Literal
|
|
4
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AI_SPEC
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
def fire_qwen(
|
|
7
|
+
def fire_qwen(ai_spec: AI_SPEC, prompt_path: Path, repo_root: Path, config_dir: str | None) -> str:
|
|
9
8
|
# assert model == "qwen", "Only qwen is supported currently."
|
|
10
9
|
# assert provider == "qwen", "Only qwen is supported currently."
|
|
11
10
|
# model = "qwen"
|
|
@@ -14,12 +13,12 @@ def fire_qwen(config_dir: Optional[str], model: Literal["qwen"], provider: Liter
|
|
|
14
13
|
# if model is None:
|
|
15
14
|
# model_arg = ""
|
|
16
15
|
# else:
|
|
17
|
-
_ = provider
|
|
16
|
+
_ = ai_spec["provider"]
|
|
18
17
|
# model_arg = f"--model {shlex.quote(model)}"
|
|
19
18
|
# Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
|
|
20
19
|
safe_path = shlex.quote(str(prompt_path))
|
|
21
20
|
|
|
22
|
-
match machine:
|
|
21
|
+
match ai_spec["machine"]:
|
|
23
22
|
case "local":
|
|
24
23
|
# Export the environment variable so it's available to subshells
|
|
25
24
|
cmd = f"""
|
|
@@ -37,7 +36,7 @@ docker run -it --rm \
|
|
|
37
36
|
-v {shlex.quote(str(oauth_creds))}:/root/.qwen/oauth_creds.json \
|
|
38
37
|
-v {shlex.quote(str(settings))}:/root/.qwen/settings.json \
|
|
39
38
|
-w "/workspace/{repo_root.name}" \
|
|
40
|
-
statistician/machineconfig:latest \
|
|
39
|
+
statistician/machineconfig-ai:latest \
|
|
41
40
|
qwen --prompt "$PATH_PROMPT"
|
|
42
41
|
"""
|
|
43
42
|
return cmd
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import random
|
|
3
3
|
import shlex
|
|
4
4
|
from pathlib import Path
|
|
5
|
-
from machineconfig.scripts.python.
|
|
5
|
+
from machineconfig.scripts.python.helpers_agents.fire_agents_helper_types import AGENTS, AGENT_NAME_FORMATTER, HOST, PROVIDER, AI_SPEC
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def get_api_keys(provider: PROVIDER) -> list[str]:
|
|
@@ -20,7 +20,7 @@ def get_api_keys(provider: PROVIDER) -> list[str]:
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def prep_agent_launch(repo_root: Path, agents_dir: Path, prompts_material: list[str], prompt_prefix: str, keep_material_in_separate_file: bool,
|
|
23
|
-
machine: HOST, model:
|
|
23
|
+
machine: HOST, model: str, provider: PROVIDER, agent: AGENTS, *, job_name: str) -> None:
|
|
24
24
|
agents_dir.mkdir(parents=True, exist_ok=True)
|
|
25
25
|
prompt_folder = agents_dir / "prompts"
|
|
26
26
|
prompt_folder.mkdir(parents=True, exist_ok=True)
|
|
@@ -66,17 +66,20 @@ sleep 0.1
|
|
|
66
66
|
assert provider == "google", "Gemini agent only works with google provider."
|
|
67
67
|
api_keys = get_api_keys(provider="google")
|
|
68
68
|
api_key = api_keys[idx % len(api_keys)] if len(api_keys) > 0 else None
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
ai_spec: AI_SPEC = AI_SPEC(provider=provider, model="gemini-2.5-pro", agent=agent, machine=machine, api_key=api_key, api_name="gemini")
|
|
70
|
+
from machineconfig.scripts.python.helpers_agents.agentic_frameworks.fire_gemini import fire_gemini
|
|
71
|
+
cmd = fire_gemini(ai_spec=ai_spec, prompt_path=prompt_path, repo_root=repo_root)
|
|
71
72
|
case "cursor-agent":
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
ai_spec: AI_SPEC = AI_SPEC(provider=provider, model=model, agent=agent, machine=machine, api_key=None, api_name="cursor")
|
|
74
|
+
from machineconfig.scripts.python.helpers_agents.agentic_frameworks.fire_cursor_agents import fire_cursor
|
|
75
|
+
cmd = fire_cursor(ai_spec=ai_spec, prompt_path=prompt_path)
|
|
74
76
|
raise NotImplementedError("Cursor agent is not implemented yet, api key missing")
|
|
75
77
|
case "crush":
|
|
76
|
-
from machineconfig.scripts.python.helpers_fire.agentic_frameworks.fire_crush import fire_crush
|
|
77
78
|
api_keys = get_api_keys(provider=provider)
|
|
78
79
|
api_key = api_keys[idx % len(api_keys)] if len(api_keys) > 0 else None
|
|
79
|
-
|
|
80
|
+
ai_spec: AI_SPEC = AI_SPEC(provider=provider, model=model, agent=agent, machine=machine, api_key=api_key, api_name="crush")
|
|
81
|
+
from machineconfig.scripts.python.helpers_agents.agentic_frameworks.fire_crush import fire_crush
|
|
82
|
+
cmd = fire_crush(ai_spec=ai_spec, prompt_path=prompt_path, repo_root=repo_root)
|
|
80
83
|
# case "q":
|
|
81
84
|
# from machineconfig.scripts.python.helpers_fire.fire_q import fire_q
|
|
82
85
|
# cmd = fire_q(api_key="", prompt_path=prompt_path, machine=machine)
|
|
@@ -19,24 +19,14 @@ from typing import Literal, TypeAlias, TypedDict
|
|
|
19
19
|
AGENTS: TypeAlias = Literal["cursor-agent", "gemini", "qwen-code", "copilot", "crush", "q", "opencode", "kilocode", "cline", "auggie", "warp", "droid"]
|
|
20
20
|
HOST: TypeAlias = Literal["local", "docker"]
|
|
21
21
|
PROVIDER: TypeAlias = Literal["azure", "google", "aws", "openai", "anthropic", "openrouter", "xai"]
|
|
22
|
-
MODEL: TypeAlias = Literal["zai/glm-4.6", "anthropic/sonnet-4.5", "google/gemini-2.5-pro", "openai/gpt-5-codex",
|
|
23
|
-
"openrouter/supernova", "x-ai/grok-4-fast:free",
|
|
24
|
-
]
|
|
25
|
-
PROVIDER2MODEL: dict[PROVIDER, list[MODEL]] = {
|
|
26
|
-
"azure": ["zai/glm-4.6"],
|
|
27
|
-
"google": ["google/gemini-2.5-pro"],
|
|
28
|
-
"aws": [],
|
|
29
|
-
"openai": ["openai/gpt-5-codex"],
|
|
30
|
-
"anthropic": ["anthropic/sonnet-4.5"],
|
|
31
|
-
"openrouter": ["openrouter/supernova"],
|
|
32
|
-
"xai": ["x-ai/grok-4-fast:free"]
|
|
33
|
-
}
|
|
34
22
|
|
|
35
23
|
class AI_SPEC(TypedDict):
|
|
36
24
|
provider: PROVIDER
|
|
37
|
-
model:
|
|
25
|
+
model: str
|
|
38
26
|
agent: AGENTS
|
|
39
|
-
machine: HOST
|
|
27
|
+
machine: HOST
|
|
28
|
+
api_key: str | None
|
|
29
|
+
api_name: str
|
|
40
30
|
|
|
41
31
|
|
|
42
32
|
AGENT_NAME_FORMATTER = "agent_{idx}_cmd.sh" # e.g., agent_0_cmd.sh
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
#!/bin/bash
|
|
3
|
+
# set -e # Exit immediately if a command exits with a non-zero status.
|
|
4
|
+
|
|
5
|
+
JOB_NAME="outpatient_mapping"
|
|
6
|
+
REPO_ROOT="$HOME/code/machineconfig"
|
|
7
|
+
CONTEXT_PATH="$REPO_ROOT/.ai/todo/files.md"
|
|
8
|
+
# agents make-todo --strategy keywords from machineconfig.utils.path_extended import PathExtended
|
|
9
|
+
PROMPT_PATH="$REPO_ROOT/src/machineconfig/scripts/python/helpers_agents/templates/prompt.txt"
|
|
10
|
+
AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
11
|
+
|
|
12
|
+
agents create --agents crush \
|
|
13
|
+
--host docker \
|
|
14
|
+
--model x-ai/grok-4-fast:free \
|
|
15
|
+
--provider openrouter \
|
|
16
|
+
--context-path $CONTEXT_PATH \
|
|
17
|
+
--prompt-path $PROMPT_PATH \
|
|
18
|
+
--job-name $JOB_NAME \
|
|
19
|
+
--agents-dir $AGENTS_DIR
|
|
20
|
+
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
21
|
+
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
@@ -46,7 +46,7 @@ def path():
|
|
|
46
46
|
uv_with = ["textual"]
|
|
47
47
|
uv_project_dir = None
|
|
48
48
|
if not Path.home().joinpath("code/machineconfig").exists():
|
|
49
|
-
uv_with.append("machineconfig>=6.
|
|
49
|
+
uv_with.append("machineconfig>=6.87")
|
|
50
50
|
else:
|
|
51
51
|
uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
|
|
52
52
|
run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
|
|
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
|
|
|
41
41
|
else:
|
|
42
42
|
import platform
|
|
43
43
|
if platform.system() == "Windows":
|
|
44
|
-
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.
|
|
44
|
+
run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.87" """)
|
|
45
45
|
else:
|
|
46
|
-
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.
|
|
46
|
+
run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.87" """)
|
|
47
47
|
from machineconfig.profile.create_shell_profile import create_default_shell_profile
|
|
48
48
|
if not no_copy_assets:
|
|
49
49
|
create_default_shell_profile() # involves copying assets too
|
|
@@ -68,7 +68,7 @@ def navigate():
|
|
|
68
68
|
path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
|
|
69
69
|
from machineconfig.utils.code import run_shell_script
|
|
70
70
|
if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
|
|
71
|
-
else: executable = """--with "machineconfig>=6.
|
|
71
|
+
else: executable = """--with "machineconfig>=6.87,textual" """
|
|
72
72
|
run_shell_script(f"""uv run {executable} {path}""")
|
|
73
73
|
|
|
74
74
|
|
|
@@ -219,3 +219,20 @@ uv add --group plot \
|
|
|
219
219
|
"""
|
|
220
220
|
from machineconfig.utils.code import run_shell_script
|
|
221
221
|
run_shell_script(script)
|
|
222
|
+
# def add_dev_packages(repo_dir: Annotated[Optional[str], typer.Option(..., "--repo-dir", "-r", help="Path to the repository root directory")] = None):
|
|
223
|
+
# if repo_dir is None:
|
|
224
|
+
# r_dir = Path.cwd()
|
|
225
|
+
# else:
|
|
226
|
+
# r_dir = Path(repo_dir).resolve()
|
|
227
|
+
# if not r_dir.exists() or not r_dir.is_dir() or not (r_dir / "pyproject.toml").exists():
|
|
228
|
+
# typer.echo(f"❌ The provided repo directory `{r_dir}` is not valid or does not contain a `pyproject.toml` file.")
|
|
229
|
+
# raise typer.Exit(code=1)
|
|
230
|
+
# command = f"""
|
|
231
|
+
# cd "{r_dir}" || exit 1
|
|
232
|
+
# uv add nbformat ipdb ipykernel ipython pylint pyright mypy pyrefly ty pytest
|
|
233
|
+
# """
|
|
234
|
+
# from machineconfig.utils.code import run_shell_script
|
|
235
|
+
# typer.echo(f"➡️ Installing dev packages in repo at `{r_dir}`...")
|
|
236
|
+
# run_shell_script(command)
|
|
237
|
+
# typer.echo(f"✅ Dev packages installed successfully in repo at `{r_dir}`.")
|
|
238
|
+
# # TODO: see upgrade packages.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
from typing import Optional
|
|
3
2
|
import os
|
|
4
3
|
from machineconfig.utils.path_extended import PathExtended
|
|
4
|
+
import platform
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
def search_for_files_of_interest(path_obj: PathExtended):
|
|
@@ -125,3 +125,42 @@ def wrap_import_in_try_except(import_line: str, pyfile: str, repo_root: Optional
|
|
|
125
125
|
sys.path.append(repo_root)
|
|
126
126
|
exec(f"from {Path(pyfile).stem} import *")
|
|
127
127
|
print(fr"✅ Successfully imported `{pyfile}`")
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def add_to_path(path_variable: str, directory: str) -> str:
|
|
131
|
+
"""
|
|
132
|
+
Generate shell script to add directory to path_variable.
|
|
133
|
+
Handles both Windows (cmd) and Unix-like systems (bash/zsh).
|
|
134
|
+
Checks if variable exists before appending, otherwise creates it.
|
|
135
|
+
"""
|
|
136
|
+
system = platform.system()
|
|
137
|
+
|
|
138
|
+
if system == "Windows":
|
|
139
|
+
script = f"""# Check if {path_variable} is defined
|
|
140
|
+
if (Test-Path env:{path_variable}) {{
|
|
141
|
+
Write-Host "Adding {directory} to existing {path_variable}"
|
|
142
|
+
$currentValue = [Environment]::GetEnvironmentVariable("{path_variable}", "User")
|
|
143
|
+
$newValue = "$currentValue;{directory}"
|
|
144
|
+
[Environment]::SetEnvironmentVariable("{path_variable}", $newValue, "User")
|
|
145
|
+
$env:{path_variable} = $newValue
|
|
146
|
+
}} else {{
|
|
147
|
+
Write-Host "Creating new {path_variable} variable"
|
|
148
|
+
[Environment]::SetEnvironmentVariable("{path_variable}", "{directory}", "User")
|
|
149
|
+
$env:{path_variable} = "{directory}"
|
|
150
|
+
}}
|
|
151
|
+
Write-Host "{path_variable} is now: $env:{path_variable}\""""
|
|
152
|
+
return script
|
|
153
|
+
else:
|
|
154
|
+
script = f"""#!/bin/bash
|
|
155
|
+
# Check if {path_variable} is defined and not empty
|
|
156
|
+
if [ -z "${{{path_variable}}}" ]; then
|
|
157
|
+
echo "Creating new {path_variable} variable"
|
|
158
|
+
export {path_variable}="{directory}"
|
|
159
|
+
else
|
|
160
|
+
echo "Adding {directory} to existing {path_variable}"
|
|
161
|
+
export {path_variable}="${{{path_variable}}}:{directory}"
|
|
162
|
+
fi
|
|
163
|
+
echo "{path_variable} is now: ${{{path_variable}}}"
|
|
164
|
+
"""
|
|
165
|
+
return script
|
|
166
|
+
|
|
@@ -22,7 +22,7 @@ def choose_function_or_lines(choice_file: PathExtended, kwargs_dict: dict[str, o
|
|
|
22
22
|
choice_function: Optional[str] = None
|
|
23
23
|
|
|
24
24
|
if choice_file.suffix == ".py":
|
|
25
|
-
from machineconfig.scripts.python.
|
|
25
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import parse_pyfile
|
|
26
26
|
options, func_args = parse_pyfile(file_path=str(choice_file))
|
|
27
27
|
choice_function_tmp = choose_from_options(msg="Choose a function to run", options=options, fzf=True, multi=False)
|
|
28
28
|
assert isinstance(choice_function_tmp, str), f"choice_function must be a string. Got {type(choice_function_tmp)}"
|
|
@@ -21,7 +21,7 @@ def create_from_function(
|
|
|
21
21
|
suffixes = {".py"}
|
|
22
22
|
choice_file = match_file_name(sub_string=path, search_root=PathExtended.cwd(), suffixes=suffixes)
|
|
23
23
|
elif path_obj.is_dir():
|
|
24
|
-
from machineconfig.scripts.python.
|
|
24
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import search_for_files_of_interest
|
|
25
25
|
print(f"🔍 Searching recursively for Python, PowerShell and Shell scripts in directory `{path_obj}`")
|
|
26
26
|
files = search_for_files_of_interest(path_obj)
|
|
27
27
|
print(f"🔍 Got #{len(files)} results.")
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# mkdir ~/data/local
|
|
6
6
|
# sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
|
|
7
7
|
|
|
8
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
8
|
+
uv run --python 3.14 --with "machineconfig>=6.87" python -m machineconfig.scripts.python.mount_nfs
|
|
9
9
|
# Check if remote server is reachable and share folder exists
|
|
10
10
|
if ! ping -c 1 "$remote_server" &> /dev/null; then
|
|
11
11
|
echo "💥 Error: Remote server $remote_server is not reachable."
|
|
@@ -51,7 +51,7 @@ def select_layout(layouts_json_file: Path, selected_layouts_names: Optional[list
|
|
|
51
51
|
|
|
52
52
|
def find_layout_file(layout_path: str, ) -> Path:
|
|
53
53
|
from machineconfig.utils.path_extended import PathExtended
|
|
54
|
-
from machineconfig.scripts.python.
|
|
54
|
+
from machineconfig.scripts.python.helpers_fire_command.file_wrangler import search_for_files_of_interest
|
|
55
55
|
from machineconfig.utils.options import choose_from_options
|
|
56
56
|
from machineconfig.utils.path_helper import match_file_name, sanitize_path
|
|
57
57
|
path_obj = sanitize_path(layout_path)
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from machineconfig.scripts.python.helpers_devops.cli_utils import download, merge_pdfs, get_machine_specs, init_project, compress_pdf
|
|
4
4
|
import typer
|
|
5
|
-
from typing import Annotated
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
|
|
5
|
+
from typing import Annotated
|
|
8
6
|
|
|
9
7
|
def kill_process(
|
|
10
8
|
# name: Annotated[Optional[str], typer.Option(..., "--name", "-n", help="Name of the process to kill")],
|
|
@@ -21,31 +19,20 @@ def kill_process(
|
|
|
21
19
|
# )
|
|
22
20
|
|
|
23
21
|
|
|
24
|
-
def
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
r_dir = Path(repo_dir).resolve()
|
|
29
|
-
if not r_dir.exists() or not r_dir.is_dir() or not (r_dir / "pyproject.toml").exists():
|
|
30
|
-
typer.echo(f"❌ The provided repo directory `{r_dir}` is not valid or does not contain a `pyproject.toml` file.")
|
|
31
|
-
raise typer.Exit(code=1)
|
|
32
|
-
command = f"""
|
|
33
|
-
cd "{r_dir}" || exit 1
|
|
34
|
-
uv add nbformat ipdb ipykernel ipython pylint pyright mypy pyrefly ty pytest
|
|
35
|
-
"""
|
|
36
|
-
from machineconfig.utils.code import run_shell_script
|
|
37
|
-
typer.echo(f"➡️ Installing dev packages in repo at `{r_dir}`...")
|
|
38
|
-
run_shell_script(command)
|
|
39
|
-
typer.echo(f"✅ Dev packages installed successfully in repo at `{r_dir}`.")
|
|
40
|
-
# TODO: see upgrade packages.
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
def upgrade_packages():
|
|
23
|
+
from machineconfig.utils.upgrade_packages import generate_uv_add_commands
|
|
24
|
+
from pathlib import Path
|
|
25
|
+
generate_uv_add_commands(pyproject_path=Path.cwd() / "pyproject.toml", output_path=Path.cwd() / "pyproject_init.sh")
|
|
43
26
|
|
|
44
27
|
|
|
45
28
|
def get_app() -> typer.Typer:
|
|
46
29
|
app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
47
30
|
app.command(name="kill-process", no_args_is_help=False, help="[k] Choose a process to kill")(kill_process)
|
|
48
31
|
app.command(name="k", no_args_is_help=False, help="Choose a process to kill", hidden=True)(kill_process)
|
|
32
|
+
|
|
33
|
+
app.command(name="upgrade-packages", no_args_is_help=False, help="[up] Upgrade project dependencies.")(upgrade_packages)
|
|
34
|
+
app.command(name="up", no_args_is_help=False, hidden=True)(upgrade_packages)
|
|
35
|
+
|
|
49
36
|
app.command(name="download", no_args_is_help=True, help="[d] Download a file from a URL and optionally decompress it.")(download)
|
|
50
37
|
app.command(name="d", no_args_is_help=True, hidden=True)(download)
|
|
51
38
|
app.command(name="get-machine-specs", no_args_is_help=False, help="[g] Get machine specifications.")(get_machine_specs)
|