machineconfig 2.95__tar.gz → 2.98__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-2.95/src/machineconfig.egg-info → machineconfig-2.98}/PKG-INFO +1 -1
- {machineconfig-2.95 → machineconfig-2.98}/pyproject.toml +1 -1
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_local.py +86 -23
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +16 -13
- machineconfig-2.98/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +121 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_agents.py +13 -1
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_agents_help_launch.py +4 -4
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/options.py +4 -7
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/path.py +0 -2
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/utils2.py +13 -0
- {machineconfig-2.95 → machineconfig-2.98/src/machineconfig.egg-info}/PKG-INFO +1 -1
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig.egg-info/SOURCES.txt +1 -0
- {machineconfig-2.95 → machineconfig-2.98}/MANIFEST.in +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/README.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/setup.cfg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/enhanced_command_runner.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/cli_click.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/cli_gooey.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/run_remote.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/templates/utils.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/tasks.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/vscode/link_ve.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/vscode/select_interpreter.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/archive/ngrok.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/aider.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/alacritty.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/brave.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/bypass_paywall.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/code.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/cursor.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/docker_desktop.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/espanso.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/goes.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/lvim.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/nerdfont.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/redis.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/reverse_proxy.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/wezterm.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/dev/winget.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/docker.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/gh.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/hx.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/brave.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/docker_start.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/edge.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/nerdfont.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/pgsql.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/redis.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/timescaledb.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/vscode.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/scripts/linux/wezterm.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_custom_installers/warp-cli.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_generic_installers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_generic_installers/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_generic_installers/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_generic_installers/dev/config.archive.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_generic_installers/dev/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/archive/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/dev/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_linux_installers/dev/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/archive/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/archive/file.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/dev/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/python_windows_installers/dev/config.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/logger.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/create.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fire_agents +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/mcinit +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/programs +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/repos +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/cloud_repo_sync.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/devops.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/devops_devapps_install.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/devops_update_repos.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/fire_agents.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/get_zellij_cmd.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/repos.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/repos_helper_record.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/__pycache__/repos_helper_update.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/configs/.gemini/settings.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/instructions/python/dev.instructions.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/mcinit.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/archive/im2text.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/archive/tmate_conn.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/archive/tmate_start.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops_devapps_install.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/__pycache__/__init__.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/__pycache__/repo_sync_helpers.cpython-313.pyc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/repos.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/mcinit.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.ruff_cache/.gitignore +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/linters/.ruff_cache/CACHEDIR.TAG +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/bash/.inputrc +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/wt_and_pwsh/install_fonts.ps1 +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/wt_and_pwsh/install_nerd_fonts.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/io_save.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/path_reduced.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/utils5.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig.egg-info/entry_points.txt +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig.egg-info/requires.txt +0 -0
- {machineconfig-2.95 → machineconfig-2.98}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
import shlex
|
|
3
3
|
import subprocess
|
|
4
|
+
from machineconfig.cluster.sessions_managers.zellij_utils.monitoring_types import CommandStatusResult, ZellijSessionStatus, ComprehensiveStatus, ProcessInfo
|
|
4
5
|
import psutil
|
|
5
6
|
import random
|
|
6
7
|
import string
|
|
7
|
-
from typing import
|
|
8
|
+
from typing import List, Optional
|
|
8
9
|
from pathlib import Path
|
|
9
10
|
import logging
|
|
10
11
|
|
|
@@ -12,6 +13,8 @@ from rich.console import Console
|
|
|
12
13
|
|
|
13
14
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig, TabConfig
|
|
14
15
|
|
|
16
|
+
|
|
17
|
+
|
|
15
18
|
logging.basicConfig(level=logging.INFO)
|
|
16
19
|
logger = logging.getLogger(__name__)
|
|
17
20
|
console = Console()
|
|
@@ -154,7 +157,7 @@ class ZellijLayoutGenerator:
|
|
|
154
157
|
return layout_content + "\n}\n"
|
|
155
158
|
|
|
156
159
|
@staticmethod
|
|
157
|
-
def check_command_status(tab_name: str, layout_config: LayoutConfig) ->
|
|
160
|
+
def check_command_status(tab_name: str, layout_config: LayoutConfig) -> CommandStatusResult:
|
|
158
161
|
# Find the tab with the given name
|
|
159
162
|
tab_config = None
|
|
160
163
|
for tab in layout_config["layoutTabs"]:
|
|
@@ -163,39 +166,99 @@ class ZellijLayoutGenerator:
|
|
|
163
166
|
break
|
|
164
167
|
|
|
165
168
|
if tab_config is None:
|
|
166
|
-
return {"status": "unknown", "error": f"Tab '{tab_name}' not found in layout config", "running": False, "
|
|
169
|
+
return {"status": "unknown", "error": f"Tab '{tab_name}' not found in layout config", "running": False, "command": "", "cwd": "", "tab_name": tab_name, "processes": []}
|
|
167
170
|
|
|
168
171
|
command = tab_config["command"]
|
|
169
172
|
cwd = tab_config["startDir"]
|
|
170
|
-
cmd,
|
|
173
|
+
cmd, args = ZellijLayoutGenerator._parse_command(command)
|
|
171
174
|
|
|
172
175
|
try:
|
|
173
|
-
# Look for processes matching the command
|
|
174
|
-
matching_processes = []
|
|
175
|
-
for proc in psutil.process_iter(["pid", "name", "cmdline", "status"]):
|
|
176
|
+
# Look for processes matching the command more accurately
|
|
177
|
+
matching_processes: list[ProcessInfo] = []
|
|
178
|
+
for proc in psutil.process_iter(["pid", "name", "cmdline", "status", "ppid"]):
|
|
179
|
+
try:
|
|
180
|
+
if not proc.info["cmdline"] or len(proc.info["cmdline"]) == 0:
|
|
181
|
+
continue
|
|
182
|
+
|
|
183
|
+
# Skip processes that are already dead/zombie/stopped
|
|
184
|
+
if proc.info["status"] in ["zombie", "dead", "stopped"]:
|
|
185
|
+
continue
|
|
186
|
+
|
|
187
|
+
# Get the actual command from cmdline
|
|
188
|
+
proc_cmdline = proc.info["cmdline"]
|
|
189
|
+
proc_name = proc.info["name"]
|
|
190
|
+
|
|
191
|
+
# More precise matching logic
|
|
192
|
+
is_match = False
|
|
193
|
+
|
|
194
|
+
# Check if this is the exact command we're looking for
|
|
195
|
+
if proc_name == cmd:
|
|
196
|
+
# For exact name matches, also check if arguments match or if it's a reasonable match
|
|
197
|
+
if len(args) == 0 or any(arg in " ".join(proc_cmdline) for arg in args):
|
|
198
|
+
is_match = True
|
|
199
|
+
|
|
200
|
+
# Check if the command appears in the command line
|
|
201
|
+
elif cmd in proc_cmdline[0]:
|
|
202
|
+
is_match = True
|
|
203
|
+
|
|
204
|
+
# For script-based commands, check if the script name appears
|
|
205
|
+
elif any(cmd in arg for arg in proc_cmdline):
|
|
206
|
+
is_match = True
|
|
207
|
+
|
|
208
|
+
# Skip shell processes that are just wrappers unless they're running our specific command
|
|
209
|
+
if is_match and proc_name in ["bash", "sh", "zsh", "fish"]:
|
|
210
|
+
# Only count shell processes if they contain our specific command
|
|
211
|
+
full_cmdline = " ".join(proc_cmdline)
|
|
212
|
+
if cmd not in full_cmdline and not any(arg in full_cmdline for arg in args):
|
|
213
|
+
is_match = False
|
|
214
|
+
|
|
215
|
+
if is_match:
|
|
216
|
+
# Additional check: make sure the process is actually running something meaningful
|
|
217
|
+
try:
|
|
218
|
+
# Check if process has been running for a reasonable time and is active
|
|
219
|
+
proc_obj = psutil.Process(proc.info["pid"])
|
|
220
|
+
if proc_obj.status() not in ["running", "sleeping"]:
|
|
221
|
+
continue # Skip inactive processes
|
|
222
|
+
|
|
223
|
+
matching_processes.append({
|
|
224
|
+
"pid": proc.info["pid"],
|
|
225
|
+
"name": proc.info["name"],
|
|
226
|
+
"cmdline": proc.info["cmdline"],
|
|
227
|
+
"status": proc.info["status"]
|
|
228
|
+
})
|
|
229
|
+
except (psutil.NoSuchProcess, psutil.AccessDenied):
|
|
230
|
+
continue
|
|
231
|
+
|
|
232
|
+
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
|
233
|
+
continue
|
|
234
|
+
|
|
235
|
+
# Filter out clearly finished processes or parent shells
|
|
236
|
+
active_processes = []
|
|
237
|
+
for proc_info in matching_processes:
|
|
176
238
|
try:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
except (psutil.NoSuchProcess, psutil.AccessDenied):
|
|
239
|
+
proc = psutil.Process(proc_info["pid"])
|
|
240
|
+
# Double-check the process is still active
|
|
241
|
+
if proc.status() in ["running", "sleeping"] and proc.is_running():
|
|
242
|
+
active_processes.append(proc_info)
|
|
243
|
+
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
|
244
|
+
# Process is gone, don't count it
|
|
182
245
|
continue
|
|
183
246
|
|
|
184
|
-
if
|
|
185
|
-
return {"status": "running", "running": True, "processes":
|
|
247
|
+
if active_processes:
|
|
248
|
+
return {"status": "running", "running": True, "processes": active_processes, "command": command, "cwd": cwd, "tab_name": tab_name}
|
|
186
249
|
else:
|
|
187
250
|
return {"status": "not_running", "running": False, "processes": [], "command": command, "cwd": cwd, "tab_name": tab_name}
|
|
188
251
|
|
|
189
252
|
except Exception as e:
|
|
190
253
|
logger.error(f"Error checking command status for tab '{tab_name}': {e}")
|
|
191
|
-
return {"status": "error", "error": str(e), "running": False, "command": command, "cwd": cwd, "tab_name": tab_name}
|
|
254
|
+
return {"status": "error", "error": str(e), "running": False, "command": command, "cwd": cwd, "tab_name": tab_name, "processes": []}
|
|
192
255
|
|
|
193
|
-
def check_all_commands_status(self) ->
|
|
256
|
+
def check_all_commands_status(self) -> dict[str, CommandStatusResult]:
|
|
194
257
|
if not self.layout_config:
|
|
195
258
|
logger.warning("No layout config tracked. Make sure to create a layout first.")
|
|
196
259
|
return {}
|
|
197
260
|
|
|
198
|
-
status_report = {}
|
|
261
|
+
status_report: dict[str, CommandStatusResult] = {}
|
|
199
262
|
for tab in self.layout_config["layoutTabs"]:
|
|
200
263
|
tab_name = tab["tabName"]
|
|
201
264
|
status_report[tab_name] = ZellijLayoutGenerator.check_command_status(tab_name, self.layout_config)
|
|
@@ -203,7 +266,7 @@ class ZellijLayoutGenerator:
|
|
|
203
266
|
return status_report
|
|
204
267
|
|
|
205
268
|
@staticmethod
|
|
206
|
-
def check_zellij_session_status(session_name: str) ->
|
|
269
|
+
def check_zellij_session_status(session_name: str) -> ZellijSessionStatus:
|
|
207
270
|
try:
|
|
208
271
|
# Run zellij list-sessions command
|
|
209
272
|
result = subprocess.run(["zellij", "list-sessions"], capture_output=True, text=True, timeout=10)
|
|
@@ -214,16 +277,16 @@ class ZellijLayoutGenerator:
|
|
|
214
277
|
|
|
215
278
|
return {"zellij_running": True, "session_exists": session_running, "session_name": session_name, "all_sessions": sessions}
|
|
216
279
|
else:
|
|
217
|
-
return {"zellij_running": False, "
|
|
280
|
+
return {"zellij_running": False, "session_name": session_name, "all_sessions": [], "error": result.stderr}
|
|
218
281
|
|
|
219
282
|
except subprocess.TimeoutExpired:
|
|
220
|
-
return {"zellij_running": False, "error": "Timeout while checking Zellij sessions"
|
|
283
|
+
return {"zellij_running": False, "session_name": session_name, "all_sessions": [], "error": "Timeout while checking Zellij sessions"}
|
|
221
284
|
except FileNotFoundError:
|
|
222
|
-
return {"zellij_running": False, "error": "Zellij not found in PATH"
|
|
285
|
+
return {"zellij_running": False, "session_name": session_name, "all_sessions": [], "error": "Zellij not found in PATH"}
|
|
223
286
|
except Exception as e:
|
|
224
|
-
return {"zellij_running": False, "
|
|
287
|
+
return {"zellij_running": False, "session_name": session_name, "all_sessions": [], "error": str(e)}
|
|
225
288
|
|
|
226
|
-
def get_comprehensive_status(self) ->
|
|
289
|
+
def get_comprehensive_status(self) -> ComprehensiveStatus:
|
|
227
290
|
zellij_status = ZellijLayoutGenerator.check_zellij_session_status(self.session_name or "default")
|
|
228
291
|
commands_status = self.check_all_commands_status()
|
|
229
292
|
|
|
@@ -6,14 +6,16 @@ import logging
|
|
|
6
6
|
import subprocess
|
|
7
7
|
import time
|
|
8
8
|
from pathlib import Path
|
|
9
|
-
from typing import Optional,
|
|
9
|
+
from typing import Optional, List
|
|
10
10
|
|
|
11
11
|
from rich.console import Console
|
|
12
12
|
|
|
13
|
+
from machineconfig.cluster.sessions_managers.zellij_utils.monitoring_types import SessionReport, GlobalSummary, StartResult, ActiveSessionInfo
|
|
13
14
|
from machineconfig.utils.utils5 import Scheduler
|
|
14
15
|
from machineconfig.cluster.sessions_managers.zellij_local import ZellijLayoutGenerator
|
|
15
16
|
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
16
17
|
|
|
18
|
+
|
|
17
19
|
logging.basicConfig(level=logging.INFO)
|
|
18
20
|
logger = logging.getLogger(__name__)
|
|
19
21
|
console = Console()
|
|
@@ -24,7 +26,7 @@ TMP_SERIALIZATION_DIR = Path.home().joinpath("tmp_results", "session_manager", "
|
|
|
24
26
|
class ZellijLocalManager:
|
|
25
27
|
"""Manages multiple local zellij sessions and monitors their tabs and processes."""
|
|
26
28
|
|
|
27
|
-
def __init__(self, session_layouts: list[LayoutConfig]
|
|
29
|
+
def __init__(self, session_layouts: list[LayoutConfig]):
|
|
28
30
|
self.session_name_prefix = "LocalJobMgr"
|
|
29
31
|
self.session_layouts = session_layouts # Store the original config
|
|
30
32
|
self.managers: List[ZellijLayoutGenerator] = []
|
|
@@ -44,7 +46,7 @@ class ZellijLocalManager:
|
|
|
44
46
|
"""Get all managed session names."""
|
|
45
47
|
return [manager.session_name for manager in self.managers if manager.session_name is not None]
|
|
46
48
|
|
|
47
|
-
def start_all_sessions(self, poll_seconds: float = 5.0, poll_interval: float = 0.25) ->
|
|
49
|
+
def start_all_sessions(self, poll_seconds: float = 5.0, poll_interval: float = 0.25) -> dict[str, StartResult]:
|
|
48
50
|
"""Start all zellij sessions with their layouts without blocking on the interactive TUI.
|
|
49
51
|
|
|
50
52
|
Rationale:
|
|
@@ -60,7 +62,7 @@ class ZellijLocalManager:
|
|
|
60
62
|
Returns:
|
|
61
63
|
Dict mapping session name to success metadata.
|
|
62
64
|
"""
|
|
63
|
-
results:
|
|
65
|
+
results: dict[str, StartResult] = {}
|
|
64
66
|
for manager in self.managers:
|
|
65
67
|
session_name = manager.session_name
|
|
66
68
|
try:
|
|
@@ -110,9 +112,9 @@ class ZellijLocalManager:
|
|
|
110
112
|
logger.error(f"❌ Exception starting session '{key}': {e}")
|
|
111
113
|
return results
|
|
112
114
|
|
|
113
|
-
def kill_all_sessions(self) ->
|
|
115
|
+
def kill_all_sessions(self) -> dict[str, StartResult]:
|
|
114
116
|
"""Kill all managed zellij sessions."""
|
|
115
|
-
results = {}
|
|
117
|
+
results: dict[str, StartResult] = {}
|
|
116
118
|
for manager in self.managers:
|
|
117
119
|
try:
|
|
118
120
|
session_name = manager.session_name
|
|
@@ -158,9 +160,9 @@ class ZellijLocalManager:
|
|
|
158
160
|
commands.append("")
|
|
159
161
|
return "\n".join(commands)
|
|
160
162
|
|
|
161
|
-
def check_all_sessions_status(self) ->
|
|
163
|
+
def check_all_sessions_status(self) -> dict[str, SessionReport]:
|
|
162
164
|
"""Check the status of all sessions and their commands."""
|
|
163
|
-
status_report = {}
|
|
165
|
+
status_report: dict[str, SessionReport] = {}
|
|
164
166
|
|
|
165
167
|
for manager in self.managers:
|
|
166
168
|
session_name = manager.session_name
|
|
@@ -185,7 +187,7 @@ class ZellijLocalManager:
|
|
|
185
187
|
|
|
186
188
|
return status_report
|
|
187
189
|
|
|
188
|
-
def get_global_summary(self) ->
|
|
190
|
+
def get_global_summary(self) -> GlobalSummary:
|
|
189
191
|
"""Get a global summary across all sessions."""
|
|
190
192
|
all_status = self.check_all_sessions_status()
|
|
191
193
|
|
|
@@ -298,7 +300,8 @@ class ZellijLocalManager:
|
|
|
298
300
|
running_count = sum(1 for row in status_data if row.get("running", False))
|
|
299
301
|
if running_count == 0:
|
|
300
302
|
print("\n⚠️ All commands have stopped. Stopping monitoring.")
|
|
301
|
-
|
|
303
|
+
# Set max_cycles to current cycle + 1 to exit after this cycle
|
|
304
|
+
scheduler.max_cycles = scheduler.cycle + 1
|
|
302
305
|
return
|
|
303
306
|
else:
|
|
304
307
|
print("No status data available")
|
|
@@ -420,9 +423,9 @@ class ZellijLocalManager:
|
|
|
420
423
|
logger.error(f"Failed to delete session {session_id}: {e}")
|
|
421
424
|
return False
|
|
422
425
|
|
|
423
|
-
def list_active_sessions(self) ->
|
|
426
|
+
def list_active_sessions(self) -> list[ActiveSessionInfo]:
|
|
424
427
|
"""List currently active zellij sessions managed by this instance."""
|
|
425
|
-
active_sessions = []
|
|
428
|
+
active_sessions: list[ActiveSessionInfo] = []
|
|
426
429
|
|
|
427
430
|
try:
|
|
428
431
|
# Get all running zellij sessions
|
|
@@ -482,7 +485,7 @@ if __name__ == "__main__":
|
|
|
482
485
|
]
|
|
483
486
|
try:
|
|
484
487
|
# Create the local manager
|
|
485
|
-
manager = ZellijLocalManager(sample_sessions
|
|
488
|
+
manager = ZellijLocalManager(sample_sessions)
|
|
486
489
|
print(f"✅ Local manager created with {len(manager.managers)} sessions")
|
|
487
490
|
|
|
488
491
|
# Show session names
|
machineconfig-2.98/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# TypedDict definitions for better type safety
|
|
2
|
+
from typing import NotRequired, TypedDict, Optional
|
|
3
|
+
|
|
4
|
+
# Import concrete types to replace Any usage
|
|
5
|
+
from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProcessInfo(TypedDict):
|
|
9
|
+
pid: int
|
|
10
|
+
name: str
|
|
11
|
+
cmdline: list[str]
|
|
12
|
+
status: str
|
|
13
|
+
|
|
14
|
+
class CommandStatus(TypedDict):
|
|
15
|
+
status: str
|
|
16
|
+
running: bool
|
|
17
|
+
processes: list[ProcessInfo]
|
|
18
|
+
command: str
|
|
19
|
+
cwd: str
|
|
20
|
+
tab_name: str
|
|
21
|
+
error: NotRequired[str]
|
|
22
|
+
pid: NotRequired[int]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class SessionStatus(TypedDict):
|
|
26
|
+
session_exists: bool
|
|
27
|
+
zellij_running: bool
|
|
28
|
+
session_name: str
|
|
29
|
+
all_sessions: list[str]
|
|
30
|
+
error: NotRequired[str]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class CommandSummary(TypedDict):
|
|
34
|
+
total_commands: int
|
|
35
|
+
running_commands: int
|
|
36
|
+
stopped_commands: int
|
|
37
|
+
session_healthy: bool
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class CommandStatusResult(TypedDict):
|
|
41
|
+
status: str
|
|
42
|
+
running: bool
|
|
43
|
+
processes: list[ProcessInfo]
|
|
44
|
+
command: str
|
|
45
|
+
cwd: str
|
|
46
|
+
tab_name: str
|
|
47
|
+
error: NotRequired[str]
|
|
48
|
+
pid: NotRequired[int]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class ZellijSessionStatus(TypedDict):
|
|
52
|
+
zellij_running: bool
|
|
53
|
+
session_exists: NotRequired[bool]
|
|
54
|
+
session_name: str
|
|
55
|
+
all_sessions: list[str]
|
|
56
|
+
error: NotRequired[str]
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class SessionReport(TypedDict):
|
|
60
|
+
session_status: ZellijSessionStatus # ZellijSessionStatus from zellij_local
|
|
61
|
+
commands_status: dict[str, CommandStatusResult] # dict[str, CommandStatusResult from zellij_local]
|
|
62
|
+
summary: CommandSummary
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class GlobalSummary(TypedDict):
|
|
66
|
+
total_sessions: int
|
|
67
|
+
healthy_sessions: int
|
|
68
|
+
unhealthy_sessions: int
|
|
69
|
+
total_commands: int
|
|
70
|
+
running_commands: int
|
|
71
|
+
stopped_commands: int
|
|
72
|
+
all_sessions_healthy: bool
|
|
73
|
+
all_commands_running: bool
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class StartResult(TypedDict):
|
|
77
|
+
success: bool
|
|
78
|
+
message: NotRequired[str]
|
|
79
|
+
error: NotRequired[str]
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class StatusRow(TypedDict):
|
|
83
|
+
session: str
|
|
84
|
+
tab: str
|
|
85
|
+
running: bool
|
|
86
|
+
command: str
|
|
87
|
+
processes: int
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class SessionMetadata(TypedDict):
|
|
91
|
+
session_name_prefix: str
|
|
92
|
+
created_at: str
|
|
93
|
+
num_managers: int
|
|
94
|
+
sessions: list[str]
|
|
95
|
+
manager_type: str
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class ManagerData(TypedDict):
|
|
99
|
+
session_name: Optional[str]
|
|
100
|
+
layout_config: Optional[LayoutConfig] # Will be LayoutConfig from layout_types
|
|
101
|
+
layout_path: Optional[str]
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ActiveSessionInfo(TypedDict):
|
|
105
|
+
session_name: str
|
|
106
|
+
is_active: bool
|
|
107
|
+
tab_count: int
|
|
108
|
+
tabs: list[str]
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class StatusSummary(TypedDict):
|
|
112
|
+
total_commands: int
|
|
113
|
+
running_commands: int
|
|
114
|
+
stopped_commands: int
|
|
115
|
+
session_healthy: bool
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class ComprehensiveStatus(TypedDict):
|
|
119
|
+
zellij_session: ZellijSessionStatus
|
|
120
|
+
commands: dict[str, CommandStatusResult]
|
|
121
|
+
summary: StatusSummary
|
|
@@ -15,8 +15,8 @@ import sys
|
|
|
15
15
|
from machineconfig.scripts.python.fire_agents_help_launch import prep_agent_launch, get_agents_launch_layout, AGENTS
|
|
16
16
|
from machineconfig.scripts.python.fire_agents_help_search import search_files_by_pattern, search_python_files
|
|
17
17
|
from machineconfig.scripts.python.fire_agents_load_balancer import chunk_prompts, SPLITTING_STRATEGY, DEFAULT_AGENT_CAP
|
|
18
|
-
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
19
18
|
from machineconfig.utils.options import choose_one_option
|
|
19
|
+
from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
|
|
20
20
|
from machineconfig.utils.ve import get_repo_root
|
|
21
21
|
|
|
22
22
|
SEARCH_STRATEGIES: TypeAlias = Literal["file_path", "keyword_search", "filename_pattern"]
|
|
@@ -141,10 +141,22 @@ manager.run_monitoring_routine()
|
|
|
141
141
|
if len(layoutfile["layouts"][0]["layoutTabs"]) > 25:
|
|
142
142
|
print("Too many agents (>25) to launch. Skipping launch.")
|
|
143
143
|
sys.exit(0)
|
|
144
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
144
145
|
manager = ZellijLocalManager(session_layouts=layoutfile["layouts"])
|
|
145
146
|
manager.start_all_sessions()
|
|
146
147
|
manager.run_monitoring_routine()
|
|
147
148
|
|
|
148
149
|
|
|
150
|
+
def launch_sequentially(layoutfile: "LayoutsFile"):
|
|
151
|
+
from machineconfig.utils.utils2 import split
|
|
152
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
153
|
+
for layout_chunk in split(layoutfile["layouts"], every=3):
|
|
154
|
+
manager = ZellijLocalManager(session_layouts=layout_chunk)
|
|
155
|
+
manager.start_all_sessions()
|
|
156
|
+
manager.run_monitoring_routine()
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
149
161
|
if __name__ == "__main__": # pragma: no cover
|
|
150
162
|
main()
|
|
@@ -74,10 +74,10 @@ sleep 0.1
|
|
|
74
74
|
model = "gemini-2.5-pro"
|
|
75
75
|
# model = "gemini-2.5-flash-lite"
|
|
76
76
|
# model = None # auto-select
|
|
77
|
-
if model is None:
|
|
78
|
-
|
|
79
|
-
else:
|
|
80
|
-
|
|
77
|
+
# if model is None:
|
|
78
|
+
# model_arg = ""
|
|
79
|
+
# else:
|
|
80
|
+
model_arg = f"--model {shlex.quote(model)}"
|
|
81
81
|
# Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
|
|
82
82
|
safe_path = shlex.quote(str(prompt_path))
|
|
83
83
|
api_keys = get_gemini_api_keys()
|
|
@@ -4,13 +4,10 @@ from rich.panel import Panel
|
|
|
4
4
|
from rich.console import Console
|
|
5
5
|
import platform
|
|
6
6
|
import subprocess
|
|
7
|
-
from typing import Optional, Union,
|
|
7
|
+
from typing import Optional, Union, Iterable
|
|
8
8
|
from machineconfig.utils.source_of_truth import WINDOWS_INSTALL_PATH, LINUX_INSTALL_PATH
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
T = TypeVar("T")
|
|
12
|
-
|
|
13
|
-
|
|
14
11
|
def check_tool_exists(tool_name: str) -> bool:
|
|
15
12
|
if platform.system() == "Windows":
|
|
16
13
|
tool_name = tool_name.replace(".exe", "") + ".exe"
|
|
@@ -35,20 +32,20 @@ def check_tool_exists(tool_name: str) -> bool:
|
|
|
35
32
|
# return root_path.joinpath(tool_name).is_file()
|
|
36
33
|
|
|
37
34
|
|
|
38
|
-
def choose_one_option(options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", msg: str = "", default: Optional[T] = None, fzf: bool = False, custom_input: bool = False) -> T:
|
|
35
|
+
def choose_one_option[T](options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", msg: str = "", default: Optional[T] = None, fzf: bool = False, custom_input: bool = False) -> T:
|
|
39
36
|
choice_key = display_options(msg=msg, options=options, header=header, tail=tail, prompt=prompt, default=default, fzf=fzf, multi=False, custom_input=custom_input)
|
|
40
37
|
assert not isinstance(choice_key, list)
|
|
41
38
|
return choice_key
|
|
42
39
|
|
|
43
40
|
|
|
44
|
-
def choose_multiple_options(options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", msg: str = "", default: Optional[T] = None, custom_input: bool = False) -> list[T]:
|
|
41
|
+
def choose_multiple_options[T](options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", msg: str = "", default: Optional[T] = None, custom_input: bool = False) -> list[T]:
|
|
45
42
|
choice_key = display_options(msg=msg, options=options, header=header, tail=tail, prompt=prompt, default=default, fzf=True, multi=True, custom_input=custom_input)
|
|
46
43
|
if isinstance(choice_key, list):
|
|
47
44
|
return choice_key
|
|
48
45
|
return [choice_key]
|
|
49
46
|
|
|
50
47
|
|
|
51
|
-
def display_options(msg: str, options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", default: Optional[T] = None, fzf: bool = False, multi: bool = False, custom_input: bool = False) -> Union[T, list[T]]:
|
|
48
|
+
def display_options[T](msg: str, options: Iterable[T], header: str = "", tail: str = "", prompt: str = "", default: Optional[T] = None, fzf: bool = False, multi: bool = False, custom_input: bool = False) -> Union[T, list[T]]:
|
|
52
49
|
# TODO: replace with https://github.com/tmbo/questionary
|
|
53
50
|
# # also see https://github.com/charmbracelet/gum
|
|
54
51
|
tool_name = "fzf"
|
|
@@ -18,6 +18,19 @@ def randstr(length: int = 10, lower: bool = True, upper: bool = True, digits: bo
|
|
|
18
18
|
return "".join(random.choices(population, k=length))
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
def split[T](iterable: list[T], every: int = 1, to: Optional[int] = None) -> list[list[T]]:
|
|
22
|
+
import math
|
|
23
|
+
every = every if to is None else math.ceil(len(iterable) / to)
|
|
24
|
+
res: list[list[T]] = []
|
|
25
|
+
for ix in range(0, len(iterable), every):
|
|
26
|
+
if ix + every < len(iterable):
|
|
27
|
+
tmp = iterable[ix : ix + every]
|
|
28
|
+
else:
|
|
29
|
+
tmp = iterable[ix : len(iterable)]
|
|
30
|
+
res.append(list(tmp))
|
|
31
|
+
return list(res)
|
|
32
|
+
|
|
33
|
+
|
|
21
34
|
def read_ini(path: "Path", encoding: Optional[str] = None):
|
|
22
35
|
if not Path(path).exists() or Path(path).is_dir():
|
|
23
36
|
raise FileNotFoundError(f"File not found or is a directory: {path}")
|
|
@@ -36,6 +36,7 @@ src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py
|
|
|
36
36
|
src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py
|
|
37
37
|
src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py
|
|
38
38
|
src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py
|
|
39
|
+
src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py
|
|
39
40
|
src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py
|
|
40
41
|
src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py
|
|
41
42
|
src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py
|
|
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
|
{machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/remote_machine.py
RENAMED
|
File without changes
|
{machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/remote/script_execution.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_local.py
RENAMED
|
File without changes
|
|
File without changes
|
{machineconfig-2.95 → machineconfig-2.98}/src/machineconfig/cluster/sessions_managers/wt_remote.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
|