machineconfig 4.1__tar.gz → 4.4__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-4.1/src/machineconfig.egg-info → machineconfig-4.4}/PKG-INFO +2 -1
- {machineconfig-4.1 → machineconfig-4.4}/pyproject.toml +3 -2
- machineconfig-4.4/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +53 -0
- machineconfig-4.1/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py → machineconfig-4.4/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +6 -29
- machineconfig-4.4/src/machineconfig/scripts/python/fire_agents.py +160 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_agents_help_launch.py +2 -16
- machineconfig-4.4/src/machineconfig/scripts/python/fire_agents_load_balancer.py +22 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +4 -16
- {machineconfig-4.1 → machineconfig-4.4/src/machineconfig.egg-info}/PKG-INFO +2 -1
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig.egg-info/SOURCES.txt +1 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig.egg-info/entry_points.txt +1 -1
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig.egg-info/requires.txt +1 -0
- machineconfig-4.1/src/machineconfig/scripts/python/fire_agents.py +0 -153
- machineconfig-4.1/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -50
- {machineconfig-4.1 → machineconfig-4.4}/MANIFEST.in +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/README.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/setup.cfg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/distribute.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/file_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/job_params.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/script_execution.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/run_remote.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/cluster/templates/utils.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/packages_custom_dev.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/packages_custom_essential.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/packages_github_dev.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/packages_github_essential.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/check_installations.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/tasks.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/vscode/api.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/logger.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/create.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/records/generic/shares.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/profile/shell.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/cloud/init.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/cloud_copy +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/cloud_mount +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/cloud_sync +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/croshell +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/devops +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fire +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fire_agents +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/ftpx +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fzf2g +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fzfag +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fzffg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fzfg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/fzfrga +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/gh_models +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/initai +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/kill_process +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/mount_drive +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/mount_nfs +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/mount_smb +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/programs +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/repos +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/scheduler +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/share_nfs +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/share_smb +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/skrg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/start_docker +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/start_slidev +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/start_terminals +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/switch_ip +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/wifi_conn +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/linux/z_ls +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/initai.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/croshell.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops_devapps_install.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/dotfile.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_jobs.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/ftpx.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/gh_models.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/interactive.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/pomodoro.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/repos.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/repos_helper_action.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/scheduler.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/share_terminal.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/snapshot.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/start_slidev.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/start_terminals.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/t4.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/viewer.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/viewer_template.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/broot/br.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/broot/conf.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/glow/glow.yml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/helix/config.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/helix/languages.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/keras/keras.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/colors +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/icons +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/linux/lfrc +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/colors +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/icons +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/lfrc +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/linters/.flake8 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/linters/.mypy.ini +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/linters/.pylintrc +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/linters/.ruff.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/mprocs/windows/other +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/pistol/pistol.conf +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/presenterm/config.yaml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/procs/.procs.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/rofi/config.rasi +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/bash/init.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/shells/wt/settings.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/streamlit/config.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/svim/linux/init.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/svim/windows/init.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/tere/terecd.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/wsl/.wslconfig +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/yazi/keymap.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/yazi/theme.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/yazi/yazi.toml +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zed/settings.json +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/commands/monitor +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/config.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/layouts/hist +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/accessories.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/ai/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/code.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/installer.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/io.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/links.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/notifications.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/options.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/path_extended.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/path_helper.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/procs.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/scheduler.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/scheduling.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/source_of_truth.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/ssh.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/terminal.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/upgrade_packages.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/utils/ve.py +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig.egg-info/dependency_links.txt +0 -0
- {machineconfig-4.1 → machineconfig-4.4}/src/machineconfig.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.4
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -26,6 +26,7 @@ Requires-Dist: rclone-python>=0.1.23
|
|
|
26
26
|
Requires-Dist: pyjson5>=1.6.9
|
|
27
27
|
Requires-Dist: typer-slim>=0.19.2
|
|
28
28
|
Requires-Dist: questionary>=2.1.1
|
|
29
|
+
Requires-Dist: typer>=0.19.2
|
|
29
30
|
Provides-Extra: windows
|
|
30
31
|
Requires-Dist: pywin32; extra == "windows"
|
|
31
32
|
Provides-Extra: docs
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "machineconfig"
|
|
9
|
-
version = "4.
|
|
9
|
+
version = "4.04"
|
|
10
10
|
description = "Dotfiles management package"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -35,6 +35,7 @@ dependencies = [
|
|
|
35
35
|
"pyjson5>=1.6.9",
|
|
36
36
|
"typer-slim>=0.19.2",
|
|
37
37
|
"questionary>=2.1.1",
|
|
38
|
+
"typer>=0.19.2",
|
|
38
39
|
]
|
|
39
40
|
|
|
40
41
|
[project.optional-dependencies]
|
|
@@ -53,7 +54,7 @@ docs = [
|
|
|
53
54
|
[project.scripts]
|
|
54
55
|
devops = "machineconfig.scripts.python.devops:app"
|
|
55
56
|
fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
|
|
56
|
-
fire_agents = "machineconfig.scripts.python.fire_agents:
|
|
57
|
+
fire_agents = "machineconfig.scripts.python.fire_agents:app"
|
|
57
58
|
initai = "machineconfig.scripts.python.ai.initai:main"
|
|
58
59
|
|
|
59
60
|
choose_wezterm_theme = "machineconfig.scripts.python.choose_wezterm_theme:main"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
3
|
+
# from machineconfig.utils.accessories import split_list
|
|
4
|
+
from typing import Literal, Protocol
|
|
5
|
+
from machineconfig.cluster.sessions_managers.utils.load_balancer_helper import restrict_num_tabs_helper1, restrict_num_tabs_helper2, restrict_num_tabs_helper3, restrict_num_tabs_helper4
|
|
6
|
+
|
|
7
|
+
class COMMAND_SPLITTER(Protocol):
|
|
8
|
+
def __call__(self, command: str, to: int) -> list[str]: ...
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def limit_tab_num(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number", "weight"], breaking_method: Literal["moreLayouts", "combineTabs"]) -> list[LayoutConfig]:
|
|
12
|
+
match threshold_type, breaking_method:
|
|
13
|
+
case "number", "moreLayouts":
|
|
14
|
+
return restrict_num_tabs_helper1(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
15
|
+
case "number", "combineTabs":
|
|
16
|
+
return restrict_num_tabs_helper2(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
17
|
+
case "weight", "moreLayouts":
|
|
18
|
+
return restrict_num_tabs_helper3(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
19
|
+
case "weight", "combineTabs":
|
|
20
|
+
return restrict_num_tabs_helper4(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
21
|
+
case _:
|
|
22
|
+
raise NotImplementedError(f"The combination {threshold_type}, {breaking_method} is not implemented")
|
|
23
|
+
def limit_tab_weight(layout_configs: list[LayoutConfig], max_weight: int, command_splitter: COMMAND_SPLITTER) -> list[LayoutConfig]:
|
|
24
|
+
new_layout_configs: list[LayoutConfig] = []
|
|
25
|
+
for a_layout_config in layout_configs:
|
|
26
|
+
new_tabs: list[TabConfig] = []
|
|
27
|
+
for tab in a_layout_config["layoutTabs"]:
|
|
28
|
+
tab_weight = tab.get("tabWeight", 1)
|
|
29
|
+
if tab_weight > max_weight:
|
|
30
|
+
print(f"Tab '{tab['tabName']}' in layout '{a_layout_config['layoutName']}' has too much weight ({tab_weight} > {max_weight}). Splitting command.")
|
|
31
|
+
split_commands = command_splitter(tab["command"], to=max_weight)
|
|
32
|
+
for idx, cmd in enumerate(split_commands):
|
|
33
|
+
new_tabs.append({
|
|
34
|
+
"tabName": f"{tab['tabName']}_part{idx+1}",
|
|
35
|
+
"startDir": tab["startDir"],
|
|
36
|
+
"command": cmd,
|
|
37
|
+
"tabWeight": max_weight
|
|
38
|
+
})
|
|
39
|
+
else:
|
|
40
|
+
new_tabs.append(tab)
|
|
41
|
+
new_layout_configs.append({
|
|
42
|
+
"layoutName": a_layout_config["layoutName"],
|
|
43
|
+
"layoutTabs": new_tabs
|
|
44
|
+
})
|
|
45
|
+
return new_layout_configs
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def run(layouts: list[LayoutConfig]):
|
|
49
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
50
|
+
manager = ZellijLocalManager(session_layouts=layouts)
|
|
51
|
+
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
52
|
+
manager.run_monitoring_routine(wait_ms=2000)
|
|
53
|
+
manager.kill_all_sessions()
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
3
1
|
from machineconfig.utils.accessories import split_list
|
|
4
|
-
from
|
|
2
|
+
from machineconfig.utils.schemas.layouts.layout_types import TabConfig, LayoutConfig
|
|
5
3
|
|
|
4
|
+
from typing import Literal
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
def split_tabs_by_weight(tabs: list[TabConfig], max_weight: int) -> list[list[TabConfig]]:
|
|
@@ -73,21 +72,7 @@ def combine_tabs_by_weight_into_super_tabs(tabs: list[TabConfig], max_weight: in
|
|
|
73
72
|
return super_tabs
|
|
74
73
|
|
|
75
74
|
|
|
76
|
-
def
|
|
77
|
-
match threshold_type, breaking_method:
|
|
78
|
-
case "number", "moreLayouts":
|
|
79
|
-
return _restrict_num_tabs_helper1(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
80
|
-
case "number", "combineTabs":
|
|
81
|
-
return _restrict_num_tabs_helper2(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
82
|
-
case "weight", "moreLayouts":
|
|
83
|
-
return _restrict_num_tabs_helper3(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
84
|
-
case "weight", "combineTabs":
|
|
85
|
-
return _restrict_num_tabs_helper4(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=threshold_type, breaking_method=breaking_method)
|
|
86
|
-
case _:
|
|
87
|
-
raise NotImplementedError(f"The combination {threshold_type}, {breaking_method} is not implemented")
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
def _restrict_num_tabs_helper1(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number"], breaking_method: Literal["moreLayouts"]) -> list[LayoutConfig]:
|
|
75
|
+
def restrict_num_tabs_helper1(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number"], breaking_method: Literal["moreLayouts"]) -> list[LayoutConfig]:
|
|
91
76
|
"""When threshold is exceeded, create more layouts with max_thresh tabs each."""
|
|
92
77
|
new_layout_configs: list[LayoutConfig] = []
|
|
93
78
|
for a_layout_config in layout_configs:
|
|
@@ -105,7 +90,7 @@ def _restrict_num_tabs_helper1(layout_configs: list[LayoutConfig], max_thresh: i
|
|
|
105
90
|
return new_layout_configs
|
|
106
91
|
|
|
107
92
|
|
|
108
|
-
def
|
|
93
|
+
def restrict_num_tabs_helper2(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["number"], breaking_method: Literal["combineTabs"]) -> list[LayoutConfig]:
|
|
109
94
|
"""When threshold is exceeded, combine tabs into super tabs to reduce count to max_thresh."""
|
|
110
95
|
new_layout_configs: list[LayoutConfig] = []
|
|
111
96
|
for a_layout_config in layout_configs:
|
|
@@ -123,7 +108,7 @@ def _restrict_num_tabs_helper2(layout_configs: list[LayoutConfig], max_thresh: i
|
|
|
123
108
|
return new_layout_configs
|
|
124
109
|
|
|
125
110
|
|
|
126
|
-
def
|
|
111
|
+
def restrict_num_tabs_helper3(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["weight"], breaking_method: Literal["moreLayouts"]) -> list[LayoutConfig]:
|
|
127
112
|
"""When threshold is exceeded, create more layouts with max_thresh total weight each."""
|
|
128
113
|
new_layout_configs: list[LayoutConfig] = []
|
|
129
114
|
for a_layout_config in layout_configs:
|
|
@@ -142,7 +127,7 @@ def _restrict_num_tabs_helper3(layout_configs: list[LayoutConfig], max_thresh: i
|
|
|
142
127
|
return new_layout_configs
|
|
143
128
|
|
|
144
129
|
|
|
145
|
-
def
|
|
130
|
+
def restrict_num_tabs_helper4(layout_configs: list[LayoutConfig], max_thresh: int, threshold_type: Literal["weight"], breaking_method: Literal["combineTabs"]) -> list[LayoutConfig]:
|
|
146
131
|
"""When threshold is exceeded, combine tabs into super tabs with weight <= max_thresh."""
|
|
147
132
|
new_layout_configs: list[LayoutConfig] = []
|
|
148
133
|
for a_layout_config in layout_configs:
|
|
@@ -158,11 +143,3 @@ def _restrict_num_tabs_helper4(layout_configs: list[LayoutConfig], max_thresh: i
|
|
|
158
143
|
print(f"Layout '{a_layout_config['layoutName']}' has acceptable total weight ({layout_weight} <= {max_thresh}). Keeping as is.")
|
|
159
144
|
new_layout_configs.append(a_layout_config)
|
|
160
145
|
return new_layout_configs
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
def run(layouts: list[LayoutConfig]):
|
|
164
|
-
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
165
|
-
manager = ZellijLocalManager(session_layouts=layouts)
|
|
166
|
-
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
167
|
-
manager.run_monitoring_routine(wait_ms=2000)
|
|
168
|
-
manager.kill_all_sessions()
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"""Utilitfrom pathlib import Path
|
|
2
|
+
from typing import cast, get_args, Iterable, Optional, TypeAlias, Literal
|
|
3
|
+
import json
|
|
4
|
+
import typer
|
|
5
|
+
|
|
6
|
+
from machineconfig.scripts.python.fire_agents_help_launch import prep_agent_launch, get_agents_launch_layout, AGENTS
|
|
7
|
+
from machineconfig.scripts.python.fire_agents_help_search import search_files_by_pattern, search_python_files
|
|
8
|
+
from machineconfig.scripts.python.fire_agents_load_balancer import chunk_prompts
|
|
9
|
+
from machineconfig.utils.accessories import get_repo_rootch multiple AI agent prompts in a Zellij session.
|
|
10
|
+
|
|
11
|
+
Improved design notes:
|
|
12
|
+
* Clear separation of: input collection, prompt preparation, agent launch.
|
|
13
|
+
* Configurable max agent cap (default 15) with interactive confirmation if exceeded.
|
|
14
|
+
* Added type aliases + docstrings for maintainability.
|
|
15
|
+
* Preserves original core behavior & command generation for each agent type.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
from pathlib import Path
|
|
19
|
+
from typing import cast, Iterable, Optional, TypeAlias, Literal, get_args
|
|
20
|
+
import json
|
|
21
|
+
import time
|
|
22
|
+
import typer
|
|
23
|
+
|
|
24
|
+
from machineconfig.scripts.python.fire_agents_help_launch import prep_agent_launch, get_agents_launch_layout, AGENTS
|
|
25
|
+
from machineconfig.scripts.python.fire_agents_help_search import search_files_by_pattern, search_python_files
|
|
26
|
+
from machineconfig.scripts.python.fire_agents_load_balancer import chunk_prompts
|
|
27
|
+
from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
|
|
28
|
+
from machineconfig.utils.accessories import get_repo_root
|
|
29
|
+
|
|
30
|
+
SEARCH_STRATEGIES: TypeAlias = Literal["file_path", "keyword_search", "filename_pattern"]
|
|
31
|
+
|
|
32
|
+
app = typer.Typer()
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _write_list_file(target: Path, files: Iterable[Path]) -> None:
|
|
36
|
+
target.parent.mkdir(parents=True, exist_ok=True)
|
|
37
|
+
target.write_text("\n".join(str(f) for f in files), encoding="utf-8")
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@app.command()
|
|
41
|
+
def create(
|
|
42
|
+
context_path: Optional[Path] = typer.Option(None, help="Path to the context file"),
|
|
43
|
+
keyword_search: Optional[str] = typer.Option(None, help="Keyword to search in Python files"),
|
|
44
|
+
filename_pattern: Optional[str] = typer.Option(None, help="Filename pattern to match"),
|
|
45
|
+
separator: str = typer.Option("\n", help="Separator for context"),
|
|
46
|
+
tasks_per_prompt: int = typer.Option(13, help="Number of tasks per prompt"),
|
|
47
|
+
agent: AGENTS = typer.Option(..., help=f"Agent type. One of {', '.join(get_args(AGENTS))}"),
|
|
48
|
+
prompt: Optional[str] = typer.Option(None, help="Prompt prefix as string"),
|
|
49
|
+
prompt_path: Optional[Path] = typer.Option(None, help="Path to prompt file"),
|
|
50
|
+
job_name: str = typer.Option("AI_Agents", help="Job name"),
|
|
51
|
+
keep_separate: bool = typer.Option(True, help="Keep prompt material in separate file to the context."),
|
|
52
|
+
output_path: Optional[Path] = typer.Option(None, help="Path to write the layout.json file"),
|
|
53
|
+
):
|
|
54
|
+
# validate mutual exclusive
|
|
55
|
+
context_options = [context_path, keyword_search, filename_pattern]
|
|
56
|
+
provided_context = [opt for opt in context_options if opt is not None]
|
|
57
|
+
if len(provided_context) != 1:
|
|
58
|
+
raise typer.BadParameter("Exactly one of --context-path, --keyword-search, --filename-pattern must be provided")
|
|
59
|
+
|
|
60
|
+
prompt_options = [prompt, prompt_path]
|
|
61
|
+
provided_prompt = [opt for opt in prompt_options if opt is not None]
|
|
62
|
+
if len(provided_prompt) != 1:
|
|
63
|
+
raise typer.BadParameter("Exactly one of --prompt or --prompt-path must be provided")
|
|
64
|
+
|
|
65
|
+
repo_root = get_repo_root(Path.cwd())
|
|
66
|
+
if repo_root is None:
|
|
67
|
+
typer.echo("💥 Could not determine the repository root. Please run this script from within a git repository.")
|
|
68
|
+
raise typer.Exit(1)
|
|
69
|
+
typer.echo(f"Operating @ {repo_root}")
|
|
70
|
+
|
|
71
|
+
search_strategy = ""
|
|
72
|
+
prompt_material_path = Path("")
|
|
73
|
+
|
|
74
|
+
if context_path is not None:
|
|
75
|
+
search_strategy = "file_path"
|
|
76
|
+
target_file_path = context_path.expanduser().resolve()
|
|
77
|
+
if not target_file_path.exists() or not target_file_path.is_file():
|
|
78
|
+
raise typer.BadParameter(f"Invalid file path: {target_file_path}")
|
|
79
|
+
prompt_material_path = target_file_path
|
|
80
|
+
elif keyword_search is not None:
|
|
81
|
+
search_strategy = "keyword_search"
|
|
82
|
+
matching_files = search_python_files(repo_root, keyword_search)
|
|
83
|
+
if not matching_files:
|
|
84
|
+
typer.echo(f"💥 No .py files found containing keyword: {keyword_search}")
|
|
85
|
+
raise typer.Exit(1)
|
|
86
|
+
target_file_path = repo_root / ".ai" / "target_file.txt"
|
|
87
|
+
_write_list_file(target_file_path, matching_files)
|
|
88
|
+
prompt_material_path = target_file_path
|
|
89
|
+
elif filename_pattern is not None:
|
|
90
|
+
search_strategy = "filename_pattern"
|
|
91
|
+
matching_files = search_files_by_pattern(repo_root, filename_pattern)
|
|
92
|
+
if not matching_files:
|
|
93
|
+
typer.echo(f"💥 No files found matching pattern: {filename_pattern}")
|
|
94
|
+
raise typer.Exit(1)
|
|
95
|
+
target_file_path = repo_root / ".ai" / "target_file.txt"
|
|
96
|
+
_write_list_file(target_file_path, matching_files)
|
|
97
|
+
prompt_material_path = target_file_path
|
|
98
|
+
|
|
99
|
+
if prompt_path is not None:
|
|
100
|
+
prompt_prefix = prompt_path.read_text(encoding="utf-8")
|
|
101
|
+
else:
|
|
102
|
+
prompt_prefix = cast(str, prompt)
|
|
103
|
+
agent_selected = agent
|
|
104
|
+
keep_material_in_separate_file_input = keep_separate
|
|
105
|
+
prompt_material_re_splitted = chunk_prompts(prompt_material_path, tasks_per_prompt=tasks_per_prompt, joiner=separator)
|
|
106
|
+
agents_dir = prep_agent_launch(repo_root=repo_root, prompts_material=prompt_material_re_splitted, keep_material_in_separate_file=keep_material_in_separate_file_input, prompt_prefix=prompt_prefix, agent=agent_selected, job_name=job_name)
|
|
107
|
+
layoutfile = get_agents_launch_layout(session_root=agents_dir)
|
|
108
|
+
regenerate_py_code = f"""
|
|
109
|
+
#!/usr/bin/env uv run --python 3.13 --with machineconfig
|
|
110
|
+
#!/usr/bin/env uv run --no-dev --project $HOME/code/machineconfig
|
|
111
|
+
fire_agents create --context-path "{prompt_material_path}" \\
|
|
112
|
+
--{search_strategy} "{context_path or keyword_search or filename_pattern}" \\
|
|
113
|
+
--prompt-path "{prompt_path or ''}" \\
|
|
114
|
+
--agent "{agent_selected}" \\
|
|
115
|
+
--job-name "{job_name}" \\
|
|
116
|
+
--tasks-per-prompt {tasks_per_prompt} \\
|
|
117
|
+
--separator "{separator}" \\
|
|
118
|
+
{"--keep-separate" if keep_material_in_separate_file_input else ""}
|
|
119
|
+
"""
|
|
120
|
+
(agents_dir / "aa_agents_relaunch.py").write_text(data=regenerate_py_code, encoding="utf-8")
|
|
121
|
+
layout_output_path = output_path if output_path is not None else agents_dir / "layout.json"
|
|
122
|
+
layout_output_path.write_text(data=json.dumps(layoutfile, indent=4), encoding="utf-8")
|
|
123
|
+
typer.echo(f"Created agents in {agents_dir}")
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@app.command()
|
|
127
|
+
def run(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
|
|
128
|
+
max_tabs: int = typer.Option(6, help="Maximum number of tabs to launch"),
|
|
129
|
+
sleep_between_layouts: float = typer.Option(1.0, help="Sleep time in seconds between launching layouts")):
|
|
130
|
+
layoutfile: LayoutsFile = json.loads(layout_path.read_text())
|
|
131
|
+
if len(layoutfile["layouts"][0]["layoutTabs"]) > max_tabs:
|
|
132
|
+
typer.echo(f"Too many tabs (>{max_tabs}) to launch. Skipping launch.")
|
|
133
|
+
raise typer.Exit(0)
|
|
134
|
+
from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
|
|
135
|
+
for i, a_layouts in enumerate(layoutfile["layouts"]):
|
|
136
|
+
manager = ZellijLocalManager(session_layouts=[a_layouts])
|
|
137
|
+
manager.start_all_sessions(poll_interval=2, poll_seconds=2)
|
|
138
|
+
manager.run_monitoring_routine(wait_ms=2000)
|
|
139
|
+
if i < len(layoutfile["layouts"]) - 1: # Don't sleep after the last layout
|
|
140
|
+
time.sleep(sleep_between_layouts)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
@app.command(help="Adjust layout file to limit max tabs per layout, etc.")
|
|
144
|
+
def load_balance(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
|
|
145
|
+
max_thresh: int = typer.Option(..., help="Maximum tabs per layout"),
|
|
146
|
+
thresh_type: Literal['number', 'weight'] = typer.Option(..., help="Threshold type"),
|
|
147
|
+
breaking_method: Literal['moreLayouts', 'combineTabs'] = typer.Option(..., help="Breaking method"),
|
|
148
|
+
output_path: Optional[Path] = typer.Option(None, help="Path to write the adjusted layout.json file")):
|
|
149
|
+
layoutfile: LayoutsFile = json.loads(layout_path.read_text())
|
|
150
|
+
layout_configs = layoutfile["layouts"]
|
|
151
|
+
from machineconfig.cluster.sessions_managers.utils.load_balancer import limit_tab_num
|
|
152
|
+
new_layouts = limit_tab_num(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=thresh_type, breaking_method=breaking_method)
|
|
153
|
+
layoutfile["layouts"] = new_layouts
|
|
154
|
+
target_file = output_path if output_path is not None else layout_path.parent / f'{layout_path.stem}_adjusted_{max_thresh}_{thresh_type}_{breaking_method}.json'
|
|
155
|
+
target_file.write_text(data=json.dumps(layoutfile, indent=4), encoding="utf-8")
|
|
156
|
+
typer.echo(f"Adjusted layout saved to {target_file}")
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
if __name__ == "__main__": # pragma: no cover
|
|
160
|
+
app()
|
{machineconfig-4.1 → machineconfig-4.4}/src/machineconfig/scripts/python/fire_agents_help_launch.py
RENAMED
|
@@ -7,7 +7,7 @@ from typing import Literal, TypeAlias
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
AGENTS: TypeAlias = Literal[
|
|
10
|
-
"cursor-agent", "gemini", "crush", "q"
|
|
10
|
+
"cursor-agent", "gemini", "crush", "q"
|
|
11
11
|
# warp terminal
|
|
12
12
|
]
|
|
13
13
|
AGENT_NAME_FORMATTER = "agent_{idx}_cmd.sh" # e.g., agent_0_cmd.sh
|
|
@@ -34,7 +34,6 @@ def prep_agent_launch(repo_root: Path, prompts_material: list[str], prompt_prefi
|
|
|
34
34
|
prompt_folder = session_root / "prompts"
|
|
35
35
|
prompt_folder.mkdir(parents=True, exist_ok=True)
|
|
36
36
|
|
|
37
|
-
all_materials_scripts: list[Path] = []
|
|
38
37
|
for idx, a_prompt_material in enumerate(prompts_material):
|
|
39
38
|
prompt_root = prompt_folder / f"agent_{idx}"
|
|
40
39
|
prompt_root.mkdir(parents=True, exist_ok=True)
|
|
@@ -43,7 +42,6 @@ def prep_agent_launch(repo_root: Path, prompts_material: list[str], prompt_prefi
|
|
|
43
42
|
prompt_material_path = prompt_root / f"agent_{idx}_material.txt"
|
|
44
43
|
prompt_material_path.write_text(a_prompt_material, encoding="utf-8")
|
|
45
44
|
prompt_path.write_text(prompt_prefix + f"""\nPlease only look @ {prompt_material_path}. You don't need to do any other work beside the content of this material file.""", encoding="utf-8")
|
|
46
|
-
all_materials_scripts.append(prompt_material_path)
|
|
47
45
|
else:
|
|
48
46
|
prompt_material_path = prompt_path
|
|
49
47
|
prompt_path.write_text(prompt_prefix + """\nPlease only look @ the following:\n""" + a_prompt_material, encoding="utf-8")
|
|
@@ -87,7 +85,7 @@ sleep 0.1
|
|
|
87
85
|
cmd = f"""
|
|
88
86
|
export GEMINI_API_KEY={shlex.quote(api_key)}
|
|
89
87
|
echo "Using Gemini API key $GEMINI_API_KEY"
|
|
90
|
-
|
|
88
|
+
gemini {model_arg} --yolo --prompt {safe_path}
|
|
91
89
|
"""
|
|
92
90
|
case "cursor-agent":
|
|
93
91
|
# As originally implemented
|
|
@@ -103,10 +101,6 @@ crush run {prompt_path}
|
|
|
103
101
|
case "q":
|
|
104
102
|
cmd = f"""
|
|
105
103
|
q chat --no-interactive --trust-all-tools {prompt_path}
|
|
106
|
-
"""
|
|
107
|
-
case "onlyPrepPromptFiles":
|
|
108
|
-
cmd = f"""
|
|
109
|
-
echo "Prepared prompt file at {prompt_path}"
|
|
110
104
|
"""
|
|
111
105
|
case _:
|
|
112
106
|
raise ValueError(f"Unsupported agent type: {agent}")
|
|
@@ -116,11 +110,6 @@ echo "---------END OF AGENT OUTPUT---------"
|
|
|
116
110
|
"""
|
|
117
111
|
agent_cmd_launch_path.write_text(cmd_prefix + cmd + cmd_postfix, encoding="utf-8")
|
|
118
112
|
|
|
119
|
-
# print(f"Launching a template with #{len(tab_config)} agents")
|
|
120
|
-
if len(all_materials_scripts) > 0:
|
|
121
|
-
all_materials_list_path = session_root / "all_materials_redistributed.txt"
|
|
122
|
-
all_materials_list_path.write_text("\n".join(str(p) for p in all_materials_scripts), encoding="utf-8")
|
|
123
|
-
print(f"All prompt materials listed @ {all_materials_list_path}")
|
|
124
113
|
return session_root
|
|
125
114
|
|
|
126
115
|
|
|
@@ -130,14 +119,11 @@ def get_agents_launch_layout(session_root: Path):
|
|
|
130
119
|
tab_config: list[TabConfig] = []
|
|
131
120
|
prompt_root = session_root / "prompts"
|
|
132
121
|
all_dirs_under_prompts = [d for d in prompt_root.iterdir() if d.is_dir()]
|
|
133
|
-
launch_agents_squentially = ""
|
|
134
122
|
for a_prompt_dir in all_dirs_under_prompts:
|
|
135
123
|
idx = a_prompt_dir.name.split("_")[-1] # e.g., agent_0 -> 0
|
|
136
124
|
agent_cmd_path = a_prompt_dir / AGENT_NAME_FORMATTER.format(idx=idx)
|
|
137
125
|
fire_cmd = f"bash {shlex.quote(str(agent_cmd_path))}"
|
|
138
126
|
tab_config.append(TabConfig(tabName=f"Agent{idx}", startDir=str(session_root.parent.parent.parent), command=fire_cmd))
|
|
139
|
-
launch_agents_squentially += f". {shlex.quote(str(agent_cmd_path))}\n"
|
|
140
127
|
layout = LayoutConfig(layoutName="Agents", layoutTabs=tab_config)
|
|
141
|
-
(session_root / "launch_all_agents_sequentially.sh").write_text(launch_agents_squentially, encoding="utf-8")
|
|
142
128
|
layouts_file: LayoutsFile = LayoutsFile(version="1.0", layouts=[layout])
|
|
143
129
|
return layouts_file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# from math import ceil
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def chunk_prompts(prompt_material_path: Path, joiner: str, *, tasks_per_prompt: int) -> list[str]:
|
|
6
|
+
"""Chunk prompts based on splitting strategy.
|
|
7
|
+
|
|
8
|
+
Args:
|
|
9
|
+
prompts: List of prompts to chunk
|
|
10
|
+
strategy: Either 'agent_cap' or 'task_rows'
|
|
11
|
+
agent_cap: Maximum number of agents (used with 'agent_cap' strategy)
|
|
12
|
+
task_rows: Number of rows/tasks per agent (used with 'task_rows' strategy)
|
|
13
|
+
"""
|
|
14
|
+
prompts = [p for p in prompt_material_path.read_text(encoding="utf-8", errors="ignore").split(joiner) if p.strip() != ""] # drop blank entries
|
|
15
|
+
if tasks_per_prompt >= len(prompts):
|
|
16
|
+
print("No need to chunk prompts, as tasks_per_prompt >= total prompts.", f"({tasks_per_prompt} >= {len(prompts)})")
|
|
17
|
+
return prompts
|
|
18
|
+
print(f"Chunking {len(prompts)} prompts into groups of {tasks_per_prompt} rows/tasks each.")
|
|
19
|
+
grouped: list[str] = []
|
|
20
|
+
for i in range(0, len(prompts), tasks_per_prompt):
|
|
21
|
+
grouped.append(joiner.join(prompts[i : i + tasks_per_prompt]))
|
|
22
|
+
return grouped
|
|
@@ -6,7 +6,6 @@ capturing all user inputs collected during interactive execution.
|
|
|
6
6
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import TypedDict, Literal, NotRequired
|
|
9
|
-
from machineconfig.scripts.python.fire_agents_load_balancer import SPLITTING_STRATEGY
|
|
10
9
|
from machineconfig.scripts.python.fire_agents_help_launch import AGENTS
|
|
11
10
|
|
|
12
11
|
SEARCH_STRATEGIES = Literal["file_path", "keyword_search", "filename_pattern"]
|
|
@@ -21,26 +20,17 @@ class FilePathSearchInput(TypedDict):
|
|
|
21
20
|
|
|
22
21
|
class KeywordSearchInput(TypedDict):
|
|
23
22
|
"""Input for keyword_search strategy."""
|
|
24
|
-
|
|
25
23
|
keyword: str
|
|
26
24
|
|
|
27
25
|
|
|
28
26
|
class FilenamePatternSearchInput(TypedDict):
|
|
29
27
|
"""Input for filename_pattern search strategy."""
|
|
30
|
-
|
|
31
28
|
pattern: str # e.g., '*.py', '*test*', 'config.*'
|
|
32
29
|
|
|
33
30
|
|
|
34
|
-
class
|
|
35
|
-
"""Input for
|
|
36
|
-
|
|
37
|
-
agent_cap: int # Default: 6
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
class TaskRowsSplittingInput(TypedDict):
|
|
41
|
-
"""Input for task_rows splitting strategy."""
|
|
42
|
-
|
|
43
|
-
task_rows: int # Default: 13
|
|
31
|
+
class TasksPerPromptSplittingInput(TypedDict):
|
|
32
|
+
"""Input for tasks_per_prompt splitting strategy."""
|
|
33
|
+
tasks_per_prompt: int # Default: 13
|
|
44
34
|
|
|
45
35
|
|
|
46
36
|
class FireAgentsMainInput(TypedDict):
|
|
@@ -49,7 +39,6 @@ class FireAgentsMainInput(TypedDict):
|
|
|
49
39
|
# Core configuration
|
|
50
40
|
repo_root: Path
|
|
51
41
|
search_strategy: SEARCH_STRATEGIES
|
|
52
|
-
splitting_strategy: SPLITTING_STRATEGY
|
|
53
42
|
agent_selected: AGENTS
|
|
54
43
|
prompt_prefix: str
|
|
55
44
|
job_name: str # Default: "AI_Agents"
|
|
@@ -62,8 +51,7 @@ class FireAgentsMainInput(TypedDict):
|
|
|
62
51
|
filename_pattern_input: NotRequired[FilenamePatternSearchInput]
|
|
63
52
|
|
|
64
53
|
# Splitting strategy specific inputs (only one will be present based on splitting_strategy)
|
|
65
|
-
|
|
66
|
-
task_rows_input: NotRequired[TaskRowsSplittingInput]
|
|
54
|
+
tasks_per_prompt: TasksPerPromptSplittingInput
|
|
67
55
|
|
|
68
56
|
|
|
69
57
|
class FireAgentsRuntimeData(TypedDict):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: machineconfig
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.4
|
|
4
4
|
Summary: Dotfiles management package
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -26,6 +26,7 @@ Requires-Dist: rclone-python>=0.1.23
|
|
|
26
26
|
Requires-Dist: pyjson5>=1.6.9
|
|
27
27
|
Requires-Dist: typer-slim>=0.19.2
|
|
28
28
|
Requires-Dist: questionary>=2.1.1
|
|
29
|
+
Requires-Dist: typer>=0.19.2
|
|
29
30
|
Provides-Extra: windows
|
|
30
31
|
Requires-Dist: pywin32; extra == "windows"
|
|
31
32
|
Provides-Extra: docs
|
|
@@ -30,6 +30,7 @@ src/machineconfig/cluster/sessions_managers/zellij_remote.py
|
|
|
30
30
|
src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py
|
|
31
31
|
src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py
|
|
32
32
|
src/machineconfig/cluster/sessions_managers/utils/load_balancer.py
|
|
33
|
+
src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py
|
|
33
34
|
src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py
|
|
34
35
|
src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py
|
|
35
36
|
src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py
|
|
@@ -7,7 +7,7 @@ cloud_sync = machineconfig.scripts.python.cloud_sync:arg_parser
|
|
|
7
7
|
croshell = machineconfig.scripts.python.croshell:arg_parser
|
|
8
8
|
devops = machineconfig.scripts.python.devops:app
|
|
9
9
|
fire = machineconfig.scripts.python.fire_jobs:main_from_parser
|
|
10
|
-
fire_agents = machineconfig.scripts.python.fire_agents:
|
|
10
|
+
fire_agents = machineconfig.scripts.python.fire_agents:app
|
|
11
11
|
ftpx = machineconfig.scripts.python.ftpx:main_from_parser
|
|
12
12
|
initai = machineconfig.scripts.python.ai.initai:main
|
|
13
13
|
kill_process = machineconfig.utils.procs:main
|