machineconfig 4.6__tar.gz → 4.8__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.

Files changed (421) hide show
  1. {machineconfig-4.6/src/machineconfig.egg-info → machineconfig-4.8}/PKG-INFO +1 -1
  2. {machineconfig-4.6 → machineconfig-4.8}/pyproject.toml +4 -2
  3. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_local_manager.py +15 -6
  4. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops.py +33 -42
  5. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_agents.py +49 -70
  6. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_agents_help_launch.py +1 -8
  7. machineconfig-4.8/src/machineconfig/scripts/python/fire_agents_helper_types.py +12 -0
  8. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_jobs.py +0 -6
  9. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_jobs_args_helper.py +0 -1
  10. machineconfig-4.8/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +131 -0
  11. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/repos.py +7 -6
  12. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/share_terminal.py +6 -4
  13. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  14. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  15. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/procs.py +0 -4
  16. {machineconfig-4.6 → machineconfig-4.8/src/machineconfig.egg-info}/PKG-INFO +1 -1
  17. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig.egg-info/SOURCES.txt +1 -2
  18. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig.egg-info/entry_points.txt +0 -1
  19. machineconfig-4.6/src/machineconfig/scripts/linux/fire_agents +0 -2
  20. machineconfig-4.6/src/machineconfig/scripts/linux/programs +0 -21
  21. machineconfig-4.6/src/machineconfig/scripts/python/fire_jobs_layout_helper.py +0 -67
  22. {machineconfig-4.6 → machineconfig-4.8}/MANIFEST.in +0 -0
  23. {machineconfig-4.6 → machineconfig-4.8}/README.md +0 -0
  24. {machineconfig-4.6 → machineconfig-4.8}/setup.cfg +0 -0
  25. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/__init__.py +0 -0
  26. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/__init__.py +0 -0
  27. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/cloud_manager.py +0 -0
  28. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/data_transfer.py +0 -0
  29. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/distribute.py +0 -0
  30. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/file_manager.py +0 -0
  31. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/job_params.py +0 -0
  32. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/loader_runner.py +0 -0
  33. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/remote_machine.py +0 -0
  34. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/script_execution.py +0 -0
  35. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/remote/script_notify_upon_completion.py +0 -0
  36. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/__init__.py +0 -0
  37. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/utils/enhanced_command_runner.py +0 -0
  38. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/utils/load_balancer.py +0 -0
  39. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/utils/load_balancer_helper.py +0 -0
  40. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_local.py +0 -0
  41. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_remote.py +0 -0
  42. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_remote_manager.py +0 -0
  43. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +0 -0
  44. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py +0 -0
  45. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py +0 -0
  46. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_utils/session_manager.py +0 -0
  47. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py +0 -0
  48. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_local.py +0 -0
  49. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_local_manager.py +0 -0
  50. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_remote.py +0 -0
  51. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_remote_manager.py +0 -0
  52. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +0 -0
  53. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +0 -0
  54. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py +0 -0
  55. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +0 -0
  56. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/remote_executor.py +0 -0
  57. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/session_manager.py +0 -0
  58. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/sessions_managers/zellij_utils/status_reporter.py +0 -0
  59. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/__init__.py +0 -0
  60. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/cli_trogon.py +0 -0
  61. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/run_cloud.py +0 -0
  62. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/run_cluster.py +0 -0
  63. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/run_remote.py +0 -0
  64. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/cluster/templates/utils.py +0 -0
  65. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/__init__.py +0 -0
  66. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/__init__.py +0 -0
  67. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom/gh.py +0 -0
  68. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom/hx.py +0 -0
  69. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/__init__.py +0 -0
  70. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/alacritty.py +0 -0
  71. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/brave.py +0 -0
  72. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/bypass_paywall.py +0 -0
  73. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/code.py +0 -0
  74. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/cursor.py +0 -0
  75. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/espanso.py +0 -0
  76. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/goes.py +0 -0
  77. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/lvim.py +0 -0
  78. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/nerdfont.py +0 -0
  79. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +0 -0
  80. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/redis.py +0 -0
  81. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/wezterm.py +0 -0
  82. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/custom_dev/winget.py +0 -0
  83. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/brave.sh +0 -0
  84. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/docker.sh +0 -0
  85. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/docker_start.sh +0 -0
  86. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/edge.sh +0 -0
  87. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/nerdfont.sh +0 -0
  88. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/ngrok.sh +0 -0
  89. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -0
  90. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/q.sh +0 -0
  91. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/redis.sh +0 -0
  92. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -0
  93. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/vscode.sh +0 -0
  94. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/warp-cli.sh +0 -0
  95. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/linux_scripts/wezterm.sh +0 -0
  96. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/packages_custom_dev.json +0 -0
  97. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/packages_custom_essential.json +0 -0
  98. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/packages_github_dev.json +0 -0
  99. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/packages_github_essential.json +0 -0
  100. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +0 -0
  101. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/linux/msc/cli_agents.sh +0 -0
  102. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/linux/msc/lid.sh +0 -0
  103. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/linux/msc/network.sh +0 -0
  104. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/__init__.py +0 -0
  105. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/check_installations.py +0 -0
  106. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/create_bootable_media.py +0 -0
  107. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/python_cargo_build_share.py +0 -0
  108. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/python_ve_symlink.py +0 -0
  109. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/tasks.py +0 -0
  110. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/vscode/api.py +0 -0
  111. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/python/vscode/sync_code.py +0 -0
  112. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/archive/archive_pygraphviz.ps1 +0 -0
  113. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/archive/openssh-server_add_key.ps1 +0 -0
  114. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/archive/openssh-server_copy-ssh-id.ps1 +0 -0
  115. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/msc/cli_agents.bat +0 -0
  116. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/msc/cli_agents.ps1 +0 -0
  117. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/start_terminal.ps1 +0 -0
  118. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/jobs/windows/startup_file.cmd +0 -0
  119. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/logger.py +0 -0
  120. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/__init__.py +0 -0
  121. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/create.py +0 -0
  122. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/records/generic/shares.toml +0 -0
  123. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/records/linux/apps_summary_report.csv +0 -0
  124. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/records/linux/apps_summary_report.md +0 -0
  125. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/records/windows/apps_summary_report.csv +0 -0
  126. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/records/windows/apps_summary_report.md +0 -0
  127. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/profile/shell.py +0 -0
  128. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/__init__.py +0 -0
  129. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/cloud/init.sh +0 -0
  130. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/choose_wezterm_theme +0 -0
  131. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/cloud_copy +0 -0
  132. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/cloud_mount +0 -0
  133. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/cloud_repo_sync +0 -0
  134. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/cloud_sync +0 -0
  135. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/croshell +0 -0
  136. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/devops +0 -0
  137. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fire +0 -0
  138. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/ftpx +0 -0
  139. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fzf2g +0 -0
  140. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fzfag +0 -0
  141. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fzffg +0 -0
  142. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fzfg +0 -0
  143. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/fzfrga +0 -0
  144. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/gh_models +0 -0
  145. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/initai +0 -0
  146. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/kill_process +0 -0
  147. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/mount_drive +0 -0
  148. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/mount_nfs +0 -0
  149. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/mount_nw_drive +0 -0
  150. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/mount_smb +0 -0
  151. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/repos +0 -0
  152. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/scheduler +0 -0
  153. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/share_cloud.sh +0 -0
  154. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/share_nfs +0 -0
  155. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/share_smb +0 -0
  156. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/skrg +0 -0
  157. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/start_docker +0 -0
  158. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/start_slidev +0 -0
  159. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/start_terminals +0 -0
  160. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/switch_ip +0 -0
  161. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/warp-cli.sh +0 -0
  162. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/wifi_conn +0 -0
  163. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/linux/z_ls +0 -0
  164. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/__init__.py +0 -0
  165. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/__init__.py +0 -0
  166. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/generate_files.py +0 -0
  167. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/initai.py +0 -0
  168. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +0 -0
  169. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +0 -0
  170. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/__init__.py +0 -0
  171. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/_shared.py +0 -0
  172. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/claude/claude.py +0 -0
  173. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/cline/cline.py +0 -0
  174. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Thinking-Beast-Mode.chatmode.md +0 -0
  175. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md +0 -0
  176. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/chatmodes/deepResearch.chatmode.md +0 -0
  177. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  178. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  179. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/privacy.md +0 -0
  180. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -0
  181. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  182. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/crush/crush.json +0 -0
  183. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/crush/crush.py +0 -0
  184. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/crush/privacy.md +0 -0
  185. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  186. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/gemini/gemini.py +0 -0
  187. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/gemini/settings.json +0 -0
  188. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/generic.py +0 -0
  189. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  190. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.json +0 -0
  191. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  192. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/choose_wezterm_theme.py +0 -0
  193. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/cloud_copy.py +0 -0
  194. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/cloud_manager.py +0 -0
  195. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/cloud_mount.py +0 -0
  196. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/cloud_repo_sync.py +0 -0
  197. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/cloud_sync.py +0 -0
  198. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/croshell.py +0 -0
  199. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops_add_identity.py +0 -0
  200. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops_add_ssh_key.py +0 -0
  201. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops_backup_retrieve.py +0 -0
  202. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops_devapps_install.py +0 -0
  203. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/devops_update_repos.py +0 -0
  204. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/dotfile.py +0 -0
  205. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_agents_help_search.py +0 -0
  206. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_agents_load_balancer.py +0 -0
  207. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/fire_jobs_streamlit_helper.py +0 -0
  208. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/ftpx.py +0 -0
  209. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/get_zellij_cmd.py +0 -0
  210. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/gh_models.py +0 -0
  211. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/__init__.py +0 -0
  212. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/cloud_helpers.py +0 -0
  213. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/helpers2.py +0 -0
  214. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/helpers4.py +0 -0
  215. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/helpers5.py +0 -0
  216. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -0
  217. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/interactive.py +0 -0
  218. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/mount_nfs.py +0 -0
  219. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/mount_nw_drive.py +0 -0
  220. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/mount_ssh.py +0 -0
  221. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/onetimeshare.py +0 -0
  222. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/pomodoro.py +0 -0
  223. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/repos_helper_action.py +0 -0
  224. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/repos_helper_clone.py +0 -0
  225. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/repos_helper_record.py +0 -0
  226. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/repos_helper_update.py +0 -0
  227. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/scheduler.py +0 -0
  228. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/snapshot.py +0 -0
  229. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/start_slidev.py +0 -0
  230. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/start_terminals.py +0 -0
  231. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/t4.py +0 -0
  232. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/viewer.py +0 -0
  233. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/viewer_template.py +0 -0
  234. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/wifi_conn.py +0 -0
  235. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/python/wsl_windows_transfer.py +0 -0
  236. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/choose_wezterm_theme.ps1 +0 -0
  237. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/cloud_copy.ps1 +0 -0
  238. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/cloud_mount.ps1 +0 -0
  239. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/cloud_repo_sync.ps1 +0 -0
  240. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/cloud_sync.ps1 +0 -0
  241. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/croshell.ps1 +0 -0
  242. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/devops.ps1 +0 -0
  243. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/dotfile.ps1 +0 -0
  244. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/fire.ps1 +0 -0
  245. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/ftpx.ps1 +0 -0
  246. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/fzfb.ps1 +0 -0
  247. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/fzfg.ps1 +0 -0
  248. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/fzfrga.bat +0 -0
  249. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/gpt.ps1 +0 -0
  250. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/grep.ps1 +0 -0
  251. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/initai.ps1 +0 -0
  252. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/kill_process.ps1 +0 -0
  253. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/mount_nfs.ps1 +0 -0
  254. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/mount_nw.ps1 +0 -0
  255. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/mount_smb.ps1 +0 -0
  256. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/mount_ssh.ps1 +0 -0
  257. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/nano.ps1 +0 -0
  258. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/pomodoro.ps1 +0 -0
  259. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/reload_path.ps1 +0 -0
  260. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/repos.ps1 +0 -0
  261. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/scheduler.ps1 +0 -0
  262. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/share_cloud.cmd +0 -0
  263. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/share_nfs.ps1 +0 -0
  264. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/share_smb.ps1 +0 -0
  265. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/snapshot.ps1 +0 -0
  266. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/start_slidev.ps1 +0 -0
  267. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/start_terminals.ps1 +0 -0
  268. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/unlock_bitlocker.ps1 +0 -0
  269. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/wifi_conn.ps1 +0 -0
  270. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/wsl_rdp_windows_port_forwarding.ps1 +0 -0
  271. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/scripts/windows/wsl_ssh_windows_port_forwarding.ps1 +0 -0
  272. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/__init__.py +0 -0
  273. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/broot/br.sh +0 -0
  274. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/broot/brootcd.ps1 +0 -0
  275. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/broot/conf.toml +0 -0
  276. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/glow/glow.yml +0 -0
  277. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  278. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/helix/config.toml +0 -0
  279. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/helix/languages.toml +0 -0
  280. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/keras/keras.json +0 -0
  281. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/keyboard/espanso/config/default.yml +0 -0
  282. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/keyboard/espanso/match/base.yml +0 -0
  283. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/keyboard/kanata/kanata.kbd +0 -0
  284. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/delete.sh +0 -0
  285. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/on-cd.sh +0 -0
  286. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/on-quit.sh +0 -0
  287. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/open.sh +0 -0
  288. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/paste.sh +0 -0
  289. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/pre-cd.sh +0 -0
  290. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/autocall/rename.sh +0 -0
  291. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/colors +0 -0
  292. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/cleaner.sh +0 -0
  293. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -0
  294. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  295. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/lfcd.sh +0 -0
  296. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/previewer.sh +0 -0
  297. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/exe/previewer_archive.sh +0 -0
  298. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/icons +0 -0
  299. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/linux/lfrc +0 -0
  300. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/delete.ps1 +0 -0
  301. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  302. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  303. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/open.ps1 +0 -0
  304. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/paste.ps1 +0 -0
  305. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  306. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/autocall/rename.ps1 +0 -0
  307. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/cd_tere.ps1 +0 -0
  308. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/cd_zoxide.ps1 +0 -0
  309. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  310. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/colors +0 -0
  311. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -0
  312. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/icons +0 -0
  313. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  314. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/lfcd.ps1 +0 -0
  315. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/lfrc +0 -0
  316. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/mkdir.ps1 +0 -0
  317. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/mkfile.ps1 +0 -0
  318. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/previewer.ps1 +0 -0
  319. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lf/windows/tst.ps1 +0 -0
  320. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/linters/.flake8 +0 -0
  321. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/linters/.mypy.ini +0 -0
  322. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/linters/.pylintrc +0 -0
  323. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/linters/.ruff.toml +0 -0
  324. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lvim/linux/config.lua +0 -0
  325. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lvim/windows/archive/config_additional.lua +0 -0
  326. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lvim/windows/config.lua +0 -0
  327. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  328. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/mprocs/windows/mprocs.yaml +0 -0
  329. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/mprocs/windows/other +0 -0
  330. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/pistol/pistol.conf +0 -0
  331. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/presenterm/config.yaml +0 -0
  332. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/procs/.procs.toml +0 -0
  333. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/pudb/pudb.cfg +0 -0
  334. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/rofi/config.rasi +0 -0
  335. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/rofi/config_default.rasi +0 -0
  336. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/alacritty/alacritty.toml +0 -0
  337. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/alacritty/alacritty.yml +0 -0
  338. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/bash/init.sh +0 -0
  339. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/hyper/.hyper.js +0 -0
  340. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/ipy/profiles/default/__init__.py +0 -0
  341. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  342. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  343. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/kitty/kitty.conf +0 -0
  344. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/nushell/config.nu +0 -0
  345. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/nushell/env.nu +0 -0
  346. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/pwsh/init.ps1 +0 -0
  347. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/pwsh/profile.ps1 +0 -0
  348. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/starship/starship.toml +0 -0
  349. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/vtm/settings.xml +0 -0
  350. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/wezterm/wezterm.lua +0 -0
  351. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/shells/wt/settings.json +0 -0
  352. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/streamlit/config.toml +0 -0
  353. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/svim/linux/init.toml +0 -0
  354. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/svim/windows/init.toml +0 -0
  355. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/tere/terecd.ps1 +0 -0
  356. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/tere/terecd.sh +0 -0
  357. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/tmux/.tmate.conf +0 -0
  358. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/tmux/.tmux.conf +0 -0
  359. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/wsl/.wslconfig +0 -0
  360. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/yazi/keymap.toml +0 -0
  361. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/yazi/theme.toml +0 -0
  362. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/yazi/yazi.toml +0 -0
  363. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zed/settings.json +0 -0
  364. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/commands/monitor +0 -0
  365. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/commands/standard_panes +0 -0
  366. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/config.kdl +0 -0
  367. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/config.orig.kdl +0 -0
  368. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/layouts/hist +0 -0
  369. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/layouts/panes.kdl +0 -0
  370. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/layouts/st.kdl +0 -0
  371. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/layouts/st2.kdl +0 -0
  372. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/settings/zellij/layouts/stacked_panes.kdl +0 -0
  373. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/__init__.py +0 -0
  374. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/nix/cli_installation.sh +0 -0
  375. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh +0 -0
  376. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/others/openssh-server_add_pub_key.sh +0 -0
  377. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/web_shortcuts/android.sh +0 -0
  378. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/web_shortcuts/ascii_art.sh +0 -0
  379. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/web_shortcuts/croshell.sh +0 -0
  380. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_linux/web_shortcuts/ssh.sh +0 -0
  381. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/__init__.py +0 -0
  382. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/others/docker.ps1 +0 -0
  383. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/others/obs.ps1 +0 -0
  384. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/web_shortcuts/all.ps1 +0 -0
  385. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/web_shortcuts/ascii_art.ps1 +0 -0
  386. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 +0 -0
  387. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/web_shortcuts/ssh.ps1 +0 -0
  388. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/wt_and_pwsh/__init__.py +0 -0
  389. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +0 -0
  390. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/__init__.py +0 -0
  391. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/accessories.py +0 -0
  392. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/ai/__init__.py +0 -0
  393. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/ai/generate_file_checklist.py +0 -0
  394. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/cloud/onedrive/setup_oauth.py +0 -0
  395. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/cloud/onedrive/transaction.py +0 -0
  396. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/code.py +0 -0
  397. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/installer.py +0 -0
  398. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/installer_utils/__init__.py +0 -0
  399. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/installer_utils/github_release_bulk.py +0 -0
  400. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/installer_utils/installer_abc.py +0 -0
  401. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/installer_utils/installer_class.py +0 -0
  402. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/io.py +0 -0
  403. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/links.py +0 -0
  404. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/notifications.py +0 -0
  405. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/options.py +0 -0
  406. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/path_extended.py +0 -0
  407. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/path_helper.py +0 -0
  408. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/scheduler.py +0 -0
  409. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/scheduling.py +0 -0
  410. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/schemas/fire_agents/fire_agents_input.py +0 -0
  411. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/schemas/installer/installer_types.py +0 -0
  412. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/schemas/layouts/layout_types.py +0 -0
  413. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/schemas/repos/repos_types.py +0 -0
  414. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/source_of_truth.py +0 -0
  415. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/ssh.py +0 -0
  416. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/terminal.py +0 -0
  417. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/upgrade_packages.py +0 -0
  418. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig/utils/ve.py +0 -0
  419. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig.egg-info/dependency_links.txt +0 -0
  420. {machineconfig-4.6 → machineconfig-4.8}/src/machineconfig.egg-info/requires.txt +0 -0
  421. {machineconfig-4.6 → machineconfig-4.8}/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.6
3
+ Version: 4.8
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "machineconfig"
9
- version = "4.6"
9
+ version = "4.8"
10
10
  description = "Dotfiles management package"
11
11
  readme = "README.md"
12
12
  license = {text = "Apache 2.0"}
@@ -54,7 +54,6 @@ docs = [
54
54
  [project.scripts]
55
55
  devops = "machineconfig.scripts.python.devops:app"
56
56
  fire = "machineconfig.scripts.python.fire_jobs:main_from_parser"
57
- fire_agents = "machineconfig.scripts.python.fire_agents:app"
58
57
  initai = "machineconfig.scripts.python.ai.initai:main"
59
58
 
60
59
  choose_wezterm_theme = "machineconfig.scripts.python.choose_wezterm_theme:main"
@@ -64,11 +63,14 @@ cloud_repo_sync = "machineconfig.scripts.python.cloud_repo_sync:args_parser"
64
63
  cloud_sync = "machineconfig.scripts.python.cloud_sync:arg_parser"
65
64
  ftpx = "machineconfig.scripts.python.ftpx:main_from_parser"
66
65
  repos = "machineconfig.scripts.python.repos:main_from_parser"
66
+
67
67
  start_slidev = "machineconfig.scripts.python.start_slidev:arg_parser"
68
68
  kill_process = "machineconfig.utils.procs:main"
69
+
69
70
  wifi_conn = "machineconfig.scripts.python.wifi_conn:arg_parser"
70
71
  mount_nfs = "machineconfig.scripts.python.mount_nfs:main"
71
72
  mount_nw_drive = "machineconfig.scripts.python.mount_nw_drive:main"
73
+
72
74
  croshell = "machineconfig.scripts.python.croshell:arg_parser"
73
75
 
74
76
  [tool.setuptools]
@@ -5,10 +5,19 @@ import uuid
5
5
  import logging
6
6
  import subprocess
7
7
  from pathlib import Path
8
- from typing import Optional, Dict, List, Any
8
+ from typing import TypedDict, Optional, Dict, List, Any
9
9
  from machineconfig.utils.scheduler import Scheduler
10
10
  from machineconfig.cluster.sessions_managers.wt_local import WTLayoutGenerator
11
11
  from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
12
+ from machineconfig.cluster.sessions_managers.zellij_utils.monitoring_types import (
13
+ StartResult, GlobalSummary, ActiveSessionInfo, CommandStatus, CommandSummary
14
+ )
15
+
16
+
17
+ class WTSessionReport(TypedDict):
18
+ session_status: Dict[str, Any] # WT-specific session status
19
+ commands_status: Dict[str, CommandStatus]
20
+ summary: CommandSummary
12
21
 
13
22
  logging.basicConfig(level=logging.INFO)
14
23
  logger = logging.getLogger(__name__)
@@ -44,7 +53,7 @@ class WTLocalManager:
44
53
  """Get all managed session names."""
45
54
  return [manager.session_name for manager in self.managers if manager.session_name is not None]
46
55
 
47
- def start_all_sessions(self) -> Dict[str, Any]:
56
+ def start_all_sessions(self) -> Dict[str, StartResult]:
48
57
  """Start all Windows Terminal sessions with their layouts."""
49
58
  results = {}
50
59
  for manager in self.managers:
@@ -75,7 +84,7 @@ class WTLocalManager:
75
84
 
76
85
  return results
77
86
 
78
- def kill_all_sessions(self) -> Dict[str, Any]:
87
+ def kill_all_sessions(self) -> Dict[str, StartResult]:
79
88
  """Kill all managed Windows Terminal sessions."""
80
89
  results = {}
81
90
  for manager in self.managers:
@@ -119,7 +128,7 @@ class WTLocalManager:
119
128
  commands.append("")
120
129
  return "\n".join(commands)
121
130
 
122
- def check_all_sessions_status(self) -> Dict[str, Dict[str, Any]]:
131
+ def check_all_sessions_status(self) -> Dict[str, WTSessionReport]:
123
132
  """Check the status of all sessions and their commands."""
124
133
  status_report = {}
125
134
 
@@ -144,7 +153,7 @@ class WTLocalManager:
144
153
 
145
154
  return status_report
146
155
 
147
- def get_global_summary(self) -> Dict[str, Any]:
156
+ def get_global_summary(self) -> GlobalSummary:
148
157
  """Get a global summary across all sessions."""
149
158
  all_status = self.check_all_sessions_status()
150
159
 
@@ -395,7 +404,7 @@ class WTLocalManager:
395
404
  logger.error(f"Failed to delete session {session_id}: {e}")
396
405
  return False
397
406
 
398
- def list_active_sessions(self) -> List[Dict[str, Any]]:
407
+ def list_active_sessions(self) -> List[ActiveSessionInfo]:
399
408
  """List currently active Windows Terminal sessions managed by this instance."""
400
409
  active_sessions = []
401
410
 
@@ -1,37 +1,44 @@
1
1
  """devops with emojis"""
2
2
 
3
- from machineconfig.scripts.python.share_terminal import main as share_terminal_main
3
+ import machineconfig.scripts.python.fire_agents as fire_agents
4
+ import machineconfig.scripts.python.fire_jobs_layout_helper as fire_jobs_layout_helper
4
5
  import machineconfig.scripts.python.devops_devapps_install as installer_entry_point
6
+ import machineconfig.scripts.python.share_terminal as share_terminal
7
+ import machineconfig.scripts.python.repos as repos
5
8
 
6
- from platform import system
7
- from rich.console import Console
8
- from rich.panel import Panel
9
9
  import typer
10
10
 
11
- console = Console()
12
11
  app = typer.Typer(help="🛠️ DevOps operations with emojis", no_args_is_help=True)
13
12
 
14
13
 
15
- BOX_WIDTH = 150 # width for box drawing
14
+ agents_app = typer.Typer(help="🤖 AI Agents management subcommands")
15
+ agents_app.command("create")(fire_agents.create)
16
+ agents_app.command("collect")(fire_agents.collect)
17
+ app.add_typer(agents_app, name="agents")
18
+
19
+ layouts_app = typer.Typer(help="Layouts management subcommands")
20
+ layouts_app.command("launch")(fire_jobs_layout_helper.launch)
21
+ layouts_app.command("load-balance")(fire_jobs_layout_helper.load_balance)
22
+ app.add_typer(layouts_app, name="session")
23
+
24
+ app.command(name="install", help="📦 Install essential packages")(installer_entry_point.main)
25
+ app.command(name="share-terminal", help="📡 Share terminal via web browser")(share_terminal.main)
26
+ app.command(name="repos", help="📁 Manage git repositories")(repos.main)
27
+
28
+ ssh_app = typer.Typer(help="🔐 SSH operations subcommands", no_args_is_help=True)
29
+ app.add_typer(ssh_app, name="ssh")
16
30
 
17
31
 
18
32
  @app.command()
19
33
  def update():
20
34
  """🔄 UPDATE essential repos"""
21
- console.print(Panel("🔄 Updating essential repositories...", width=BOX_WIDTH, border_style="blue"))
22
35
  import machineconfig.scripts.python.devops_update_repos as helper
23
36
  helper.main()
24
37
 
25
38
 
26
- app.command(name="install", help="📦 Install essential packages")(installer_entry_point.main)
27
- app.command(name="share-terminal", help="📡 Share terminal via web browser")(share_terminal_main)
28
-
29
-
30
-
31
39
  @app.command()
32
40
  def symlinks():
33
41
  """🔗 SYMLINKS of dotfiles."""
34
- console.print(Panel("🔗 Setting up symlinks, PATH, and shell profile...", width=BOX_WIDTH, border_style="blue"))
35
42
  import machineconfig.profile.create as helper
36
43
  helper.main_symlinks()
37
44
 
@@ -39,7 +46,6 @@ def symlinks():
39
46
  @app.command()
40
47
  def profile():
41
48
  """🔗 Update shell profile."""
42
- console.print(Panel("🔗 Setting up symlinks, PATH, and shell profile...", width=BOX_WIDTH, border_style="blue"))
43
49
  import machineconfig.profile.create as helper
44
50
  helper.main_profile()
45
51
 
@@ -47,48 +53,35 @@ def profile():
47
53
  @app.command()
48
54
  def symlinks_new():
49
55
  """🆕 SYMLINKS new"""
50
- console.print(Panel("🔄 Creating new symlinks...", width=BOX_WIDTH, border_style="blue"))
51
56
  import machineconfig.jobs.python.python_ve_symlink as helper
52
57
  helper.main()
53
58
 
54
59
 
55
- @app.command()
56
- def ssh_add_key():
60
+ @ssh_app.command()
61
+ def add_key():
57
62
  """🔑 SSH add pub key to this machine"""
58
- console.print(Panel("🔑 Adding public SSH key to this machine...", width=BOX_WIDTH, border_style="blue"))
59
63
  import machineconfig.scripts.python.devops_add_ssh_key as helper
60
64
  helper.main()
61
-
62
-
63
- @app.command()
64
- def ssh_add_identity():
65
+ @ssh_app.command()
66
+ def add_identity():
65
67
  """🗝️ SSH add identity (private key) to this machine"""
66
- console.print(Panel("🗝️ Adding SSH identity (private key) to this machine...", width=BOX_WIDTH, border_style="blue"))
67
68
  import machineconfig.scripts.python.devops_add_identity as helper
68
69
  helper.main()
69
-
70
-
71
- @app.command()
72
- def ssh_connect():
70
+ @ssh_app.command()
71
+ def connect():
73
72
  """🔐 SSH use key pair to connect two machines"""
74
- console.print(Panel("❌ ERROR: Not Implemented\nSSH key pair connection feature is not yet implemented", title_align="left", border_style="red", width=BOX_WIDTH))
75
73
  raise NotImplementedError
76
-
77
-
78
- @app.command()
79
- def ssh_setup():
74
+ @ssh_app.command()
75
+ def setup():
80
76
  """📡 SSH setup"""
81
- console.print(Panel("📡 Setting up SSH...", width=BOX_WIDTH, border_style="blue"))
82
77
  _program_windows = """Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression # https://github.com/thisismygitrepo.keys"""
83
78
  _program_linux = """curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash # https://github.com/thisismygitrepo.keys"""
84
79
  import subprocess
80
+ from platform import system
85
81
  subprocess.run(_program_linux if system() == "Linux" else _program_windows, shell=True, check=True)
86
-
87
-
88
- @app.command()
89
- def ssh_setup_wsl():
82
+ @ssh_app.command()
83
+ def setup_wsl():
90
84
  """🐧 SSH setup wsl"""
91
- console.print(Panel("🐧 Setting up SSH for WSL...", width=BOX_WIDTH, border_style="blue"))
92
85
  import subprocess
93
86
  subprocess.run("curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash", shell=True, check=True)
94
87
 
@@ -96,7 +89,6 @@ def ssh_setup_wsl():
96
89
  @app.command()
97
90
  def backup():
98
91
  """💾 BACKUP"""
99
- console.print(Panel("💾 Creating backup...", width=BOX_WIDTH, border_style="blue"))
100
92
  from machineconfig.scripts.python.devops_backup_retrieve import main_backup_retrieve
101
93
  main_backup_retrieve(direction="BACKUP")
102
94
 
@@ -104,7 +96,6 @@ def backup():
104
96
  @app.command()
105
97
  def retrieve():
106
98
  """📥 RETRIEVE"""
107
- console.print(Panel("📥 Retrieving backup...", width=BOX_WIDTH, border_style="blue"))
108
99
  from machineconfig.scripts.python.devops_backup_retrieve import main_backup_retrieve
109
100
  main_backup_retrieve(direction="RETRIEVE")
110
101
 
@@ -112,16 +103,16 @@ def retrieve():
112
103
  @app.command()
113
104
  def scheduler():
114
105
  """⏰ SCHEDULER"""
115
- console.print(Panel("⏰ Setting up scheduler...", width=BOX_WIDTH, border_style="blue"))
116
106
  # from machineconfig.scripts.python.scheduler import main as helper
117
107
  # helper()
118
108
 
119
- @app.command("ia")
109
+ @app.command()
120
110
  def interactive():
121
111
  """🤖 INTERACTIVE configuration of machine."""
122
112
  from machineconfig.scripts.python.interactive import main
123
113
  main()
124
114
 
125
115
 
116
+
126
117
  if __name__ == "__main__":
127
118
  pass
@@ -1,35 +1,11 @@
1
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
2
 
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
3
  """
17
4
 
18
5
  from pathlib import Path
19
- from typing import cast, Iterable, Optional, TypeAlias, Literal, get_args
20
- import json
21
- import time
6
+ from typing import cast, Iterable, Optional, get_args
22
7
  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, randstr
29
-
30
- SEARCH_STRATEGIES: TypeAlias = Literal["file_path", "keyword_search", "filename_pattern"]
31
-
32
- app = typer.Typer()
8
+ from machineconfig.scripts.python.fire_agents_helper_types import AGENTS
33
9
 
34
10
 
35
11
  def _write_list_file(target: Path, files: Iterable[Path]) -> None:
@@ -37,7 +13,6 @@ def _write_list_file(target: Path, files: Iterable[Path]) -> None:
37
13
  target.write_text("\n".join(str(f) for f in files), encoding="utf-8")
38
14
 
39
15
 
40
- @app.command()
41
16
  def create(
42
17
  context_path: Optional[Path] = typer.Option(None, help="Path to the context file"),
43
18
  keyword_search: Optional[str] = typer.Option(None, help="Keyword to search in Python files"),
@@ -52,6 +27,13 @@ def create(
52
27
  output_path: Optional[Path] = typer.Option(None, help="Path to write the layout.json file"),
53
28
  agents_dir: Optional[Path] = typer.Option(None, help="Directory to store agent files. If not provided, will be constructed automatically."),
54
29
  ):
30
+
31
+ from machineconfig.scripts.python.fire_agents_help_launch import prep_agent_launch, get_agents_launch_layout
32
+ from machineconfig.scripts.python.fire_agents_help_search import search_files_by_pattern, search_python_files
33
+ from machineconfig.scripts.python.fire_agents_load_balancer import chunk_prompts
34
+ from machineconfig.utils.accessories import get_repo_root, randstr
35
+ import json
36
+
55
37
  # validate mutual exclusive
56
38
  context_options = [context_path, keyword_search, filename_pattern]
57
39
  provided_context = [opt for opt in context_options if opt is not None]
@@ -131,48 +113,6 @@ fire_agents create --context-path "{prompt_material_path}" \\
131
113
  typer.echo(f"Ceated layout in {layout_output_path}")
132
114
 
133
115
 
134
- @app.command()
135
- def run(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
136
- max_tabs: int = typer.Option(6, help="Maximum number of tabs to launch"),
137
- sleep_inbetween: float = typer.Option(1.0, help="Sleep time in seconds between launching layouts"),
138
- kill_upon_completion: bool = typer.Option(False, help="Kill the layout sessions upon completion")):
139
- layoutfile: LayoutsFile = json.loads(layout_path.read_text())
140
- for a_layout in layoutfile["layouts"]:
141
- if len(a_layout["layoutTabs"]) > max_tabs:
142
- typer.echo(f"Layout '{a_layout.get('layoutName', 'Unnamed')}' has {len(a_layout['layoutTabs'])} tabs which exceeds the max of {max_tabs}.")
143
- confirm = typer.confirm("Do you want to proceed with launching this layout?", default=False)
144
- if not confirm:
145
- typer.echo("Aborting launch.")
146
- raise typer.Exit(0)
147
- from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
148
- for i, a_layouts in enumerate(layoutfile["layouts"]):
149
- manager = ZellijLocalManager(session_layouts=[a_layouts])
150
- manager.start_all_sessions(poll_interval=2, poll_seconds=2)
151
- manager.run_monitoring_routine(wait_ms=2000)
152
- if kill_upon_completion:
153
- manager.kill_all_sessions()
154
- if i < len(layoutfile["layouts"]) - 1: # Don't sleep after the last layout
155
- time.sleep(sleep_inbetween)
156
-
157
-
158
- @app.command(help="Adjust layout file to limit max tabs per layout, etc.")
159
- def load_balance(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
160
- max_thresh: int = typer.Option(..., help="Maximum tabs per layout"),
161
- thresh_type: Literal['number', 'weight'] = typer.Option(..., help="Threshold type"),
162
- breaking_method: Literal['moreLayouts', 'combineTabs'] = typer.Option(..., help="Breaking method"),
163
- output_path: Optional[Path] = typer.Option(None, help="Path to write the adjusted layout.json file")):
164
- layoutfile: LayoutsFile = json.loads(layout_path.read_text())
165
- layout_configs = layoutfile["layouts"]
166
- from machineconfig.cluster.sessions_managers.utils.load_balancer import limit_tab_num
167
- new_layouts = limit_tab_num(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=thresh_type, breaking_method=breaking_method)
168
- layoutfile["layouts"] = new_layouts
169
- 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'
170
- target_file.parent.mkdir(parents=True, exist_ok=True)
171
- target_file.write_text(data=json.dumps(layoutfile, indent=4), encoding="utf-8")
172
- typer.echo(f"Adjusted layout saved to {target_file}")
173
-
174
-
175
- @app.command()
176
116
  def collect(
177
117
  agent_dir: Path = typer.Argument(..., help="Path to the agent directory containing the prompts folder"),
178
118
  output_path: Path = typer.Argument(..., help="Path to write the concatenated material files"),
@@ -214,5 +154,44 @@ def collect(
214
154
  typer.echo(f"Concatenated material written to {output_path}")
215
155
 
216
156
 
157
+ def template():
158
+ template_bash = """#!/bin/bash
159
+ JOB_NAME="outpatient_mapping"
160
+ REPO_ROOT="$HOME/code/work/winter_planning/"
161
+ CONTEXT_PATH="$REPO_ROOT/data/outpatient_mapping/op_services_collected.csv"
162
+ PROMPT_PATH="$REPO_ROOT/data/outpatient_mapping/prompt"
163
+
164
+ AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
165
+ LAYOUT_PATH="$REPO_ROOT/.ai/agents/$JOB_NAME/layout_unbalanced.json"
166
+ LAYOUT_BALANCED_PATH="$REPO_ROOT/.ai/agents/$JOB_NAME/layout_balanced.json"
167
+
168
+ fire_agents create --context-path $CONTEXT_PATH --tasks-per-prompt 10 --agent crush --prompt-path $PROMPT_PATH --keep-separate --output-path $LAYOUT_PATH --agents-dir $AGENTS_DIR
169
+ fire_agents load-balance $LAYOUT_PATH --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path $LAYOUT_BALANCED_PATH
170
+
171
+ fire_agents run $LAYOUT_BALANCED_PATH --kill-upon-completion
172
+ fire_agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
173
+ """
174
+ template_powershell = """
175
+
176
+ """
177
+ from platform import system
178
+ if system() == "Linux":
179
+ template = template_bash
180
+ elif system() == "Windows":
181
+ template = template_powershell
182
+ else:
183
+ raise typer.BadParameter(f"Unsupported OS: {system()}")
184
+
185
+ from machineconfig.utils.accessories import get_repo_root
186
+ repo_root = get_repo_root(Path.cwd())
187
+ if repo_root is None:
188
+ typer.echo("💥 Could not determine the repository root. Please run this script from within a git repository.")
189
+ raise typer.Exit(1)
190
+ save_path = repo_root / ".ai" / "agents" / "template_fire_agents.sh"
191
+ save_path.parent.mkdir(parents=True, exist_ok=True)
192
+ save_path.write_text(template, encoding="utf-8")
193
+ typer.echo(f"Template bash script written to {save_path}")
194
+
195
+
217
196
  if __name__ == "__main__": # pragma: no cover
218
- app()
197
+ pass
@@ -2,14 +2,7 @@
2
2
  import random
3
3
  import shlex
4
4
  from pathlib import Path
5
- from typing import Literal, TypeAlias
6
-
7
-
8
- AGENTS: TypeAlias = Literal[
9
- "cursor-agent", "gemini", "crush", "q"
10
- # warp terminal
11
- ]
12
- AGENT_NAME_FORMATTER = "agent_{idx}_cmd.sh" # e.g., agent_0_cmd.sh
5
+ from machineconfig.scripts.python.fire_agents_helper_types import AGENTS, AGENT_NAME_FORMATTER
13
6
 
14
7
 
15
8
  def get_gemini_api_keys() -> list[str]:
@@ -0,0 +1,12 @@
1
+
2
+ from typing import Literal, TypeAlias
3
+
4
+
5
+ AGENTS: TypeAlias = Literal[
6
+ "cursor-agent", "gemini", "crush", "q"
7
+ # warp terminal
8
+ ]
9
+ AGENT_NAME_FORMATTER = "agent_{idx}_cmd.sh" # e.g., agent_0_cmd.sh
10
+
11
+ SEARCH_STRATEGIES: TypeAlias = Literal["file_path", "keyword_search", "filename_pattern"]
12
+
@@ -26,10 +26,6 @@ import typer
26
26
 
27
27
 
28
28
  def route(args: FireJobArgs, fire_args: str = "") -> None:
29
- if args.layout:
30
- from machineconfig.scripts.python.fire_jobs_layout_helper import handle_layout_args
31
- return handle_layout_args(args.path, args.function)
32
-
33
29
  path_obj = sanitize_path(args.path)
34
30
  if not path_obj.exists():
35
31
  suffixes = {".py", ".sh", ".ps1"}
@@ -348,7 +344,6 @@ def main(
348
344
  Nprocess: Annotated[int, typer.Option("--Nprocess", "-p", help="Number of processes to use")] = 1,
349
345
  zellij_tab: Annotated[Optional[str], typer.Option("--zellij_tab", "-z", help="Open in a new zellij tab")] = None,
350
346
  watch: Annotated[bool, typer.Option("--watch", "-w", help="Watch the file for changes")] = False,
351
- layout: Annotated[bool, typer.Option("--layout", "-L", help="Use layout configuration (Zellij Or WindowsTerminal)")] = False,
352
347
  ) -> None:
353
348
  """Main function to process fire jobs arguments."""
354
349
 
@@ -377,7 +372,6 @@ def main(
377
372
  Nprocess=Nprocess,
378
373
  zellij_tab=zellij_tab,
379
374
  watch=watch,
380
- layout=layout,
381
375
  )
382
376
  try:
383
377
  route(args, fire_args)
@@ -27,7 +27,6 @@ class FireJobArgs:
27
27
  Nprocess: int = 1
28
28
  zellij_tab: Optional[str] = None
29
29
  watch: bool = False
30
- layout: bool = False
31
30
 
32
31
 
33
32
  def extract_kwargs(args: FireJobArgs) -> dict[str, object]:
@@ -0,0 +1,131 @@
1
+
2
+ from pathlib import Path
3
+ from typing import Optional, Literal
4
+ import typer
5
+
6
+
7
+ def load_balance(layout_path: Path = typer.Argument(..., help="Path to the layout.json file"),
8
+ max_thresh: int = typer.Option(..., help="Maximum tabs per layout"),
9
+ thresh_type: Literal['number', 'weight'] = typer.Option(..., help="Threshold type"),
10
+ breaking_method: Literal['moreLayouts', 'combineTabs'] = typer.Option(..., help="Breaking method"),
11
+ output_path: Optional[Path] = typer.Option(None, help="Path to write the adjusted layout.json file")):
12
+ """Adjust layout file to limit max tabs per layout, etc."""
13
+ from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
14
+ import json
15
+ layoutfile: LayoutsFile = json.loads(layout_path.read_text())
16
+ layout_configs = layoutfile["layouts"]
17
+ from machineconfig.cluster.sessions_managers.utils.load_balancer import limit_tab_num
18
+ new_layouts = limit_tab_num(layout_configs=layout_configs, max_thresh=max_thresh, threshold_type=thresh_type, breaking_method=breaking_method)
19
+ layoutfile["layouts"] = new_layouts
20
+ 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'
21
+ target_file.parent.mkdir(parents=True, exist_ok=True)
22
+ target_file.write_text(data=json.dumps(layoutfile, indent=4), encoding="utf-8")
23
+ typer.echo(f"Adjusted layout saved to {target_file}")
24
+
25
+
26
+ def select_layout(layouts_json_file: Path, selected_layouts_names: Optional[list[str]], select_interactively: bool) -> list["LayoutConfig"]:
27
+ import json
28
+ from machineconfig.utils.options import choose_from_options
29
+ from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig, LayoutsFile
30
+ layout_file: LayoutsFile = json.loads(layouts_json_file.read_text(encoding="utf-8"))
31
+ if len(layout_file["layouts"]) == 0:
32
+ raise ValueError(f"No layouts found in {layouts_json_file}")
33
+ if selected_layouts_names is None: # choose all, or interactively
34
+ if not select_interactively:
35
+ return layout_file["layouts"]
36
+ options = [layout["layoutName"] for layout in layout_file["layouts"]]
37
+ from machineconfig.utils.options import choose_from_options
38
+ selected_layouts_names = choose_from_options(multi=True, options=options, prompt="Choose a layout configuration:", fzf=True, msg="Choose one option")
39
+ print(f"Selected layout(s): {selected_layouts_names}")
40
+ # Extract the configs from the names:
41
+ layouts_chosen: list[LayoutConfig] = []
42
+ for name in selected_layouts_names:
43
+ layout_chosen = next((layout for layout in layout_file["layouts"] if layout["layoutName"] == name), None)
44
+ if layout_chosen is None:
45
+ layout_chosen = next((layout for layout in layout_file["layouts"] if layout["layoutName"].lower() == name.lower()), None)
46
+ if layout_chosen is None:
47
+ available_layouts = [layout["layoutName"] for layout in layout_file["layouts"]]
48
+ raise ValueError(f"Layout '{name}' not found. Available layouts: {available_layouts}")
49
+ layouts_chosen.append(layout_chosen)
50
+ return layouts_chosen
51
+
52
+
53
+ def handle_layout_args(layout_path: str, select_layouts: Optional[str], select_interactively: bool) -> list["LayoutConfig"]:
54
+ from machineconfig.utils.path_extended import PathExtended
55
+ from machineconfig.scripts.python.helpers.helpers4 import search_for_files_of_interest
56
+ from machineconfig.utils.options import choose_from_options
57
+ from machineconfig.utils.path_helper import match_file_name, sanitize_path
58
+ path_obj = sanitize_path(layout_path)
59
+ if not path_obj.exists():
60
+ choice_file = match_file_name(sub_string=layout_path, search_root=PathExtended.cwd(), suffixes={".json"})
61
+ elif path_obj.is_dir():
62
+ print(f"🔍 Searching recursively for Python, PowerShell and Shell scripts in directory `{path_obj}`")
63
+ files = search_for_files_of_interest(path_obj)
64
+ print(f"🔍 Got #{len(files)} results.")
65
+ choice_file = choose_from_options(multi=False, options=files, fzf=True, msg="Choose one option")
66
+ choice_file = PathExtended(choice_file)
67
+ else:
68
+ choice_file = path_obj
69
+ selected_layouts = select_layout(layouts_json_file=choice_file, selected_layouts_names=select_layouts.split(",") if select_layouts else None, select_interactively=select_interactively)
70
+ return selected_layouts
71
+
72
+
73
+ def launch(layout_path: str = typer.Argument(..., help="Path to the layout.json file"),
74
+ max_tabs: int = typer.Option(10, help="A Sanity checker that throws an error if any layout exceeds the maximum number of tabs to launch."),
75
+ max_layouts: int = typer.Option(10, help="A Sanity checker that throws an error if the total number of layouts exceeds this number."),
76
+ sleep_inbetween: float = typer.Option(1.0, help="Sleep time in seconds between launching layouts"),
77
+ monitor: bool = typer.Option(False, help="Monitor the layout sessions for completion"),
78
+ parallel: bool = typer.Option(False, help="Launch multiple layouts in parallel"),
79
+ kill_upon_completion: bool = typer.Option(False, help="Kill session(s) upon completion (only relevant if monitor flag is set)"),
80
+ select: Optional[str] = typer.Option(None, help="Comma separated names of layouts to be selected from the layout file passed"),
81
+ select_interactively: bool = typer.Option(False, help="Select layouts interactively")
82
+ ):
83
+ """
84
+ """
85
+ layouts_selected = handle_layout_args(layout_path=layout_path, select_layouts=select, select_interactively=select_interactively)
86
+
87
+ # ============= Basic sanity checks =============
88
+ if len(layouts_selected) > max_layouts:
89
+ raise ValueError(f"Number of layouts {len(layouts_selected)} exceeds the maximum allowed {max_layouts}. Please adjust your layout file.")
90
+ for a_layout in layouts_selected:
91
+ if len(a_layout["layoutTabs"]) > max_tabs:
92
+ typer.echo(f"Layout '{a_layout.get('layoutName', 'Unnamed')}' has {len(a_layout['layoutTabs'])} tabs which exceeds the max of {max_tabs}.")
93
+ confirm = typer.confirm("Do you want to proceed with launching this layout?", default=False)
94
+ if not confirm:
95
+ typer.echo("Aborting launch.")
96
+ raise typer.Exit(0)
97
+
98
+ import time
99
+ import platform
100
+ if platform.system() == "Linux" or platform.system() == "Darwin":
101
+ from machineconfig.cluster.sessions_managers.zellij_local_manager import ZellijLocalManager
102
+ if not parallel: iterable = [[item] for item in layouts_selected]
103
+ else: iterable = [layouts_selected]
104
+ for i, a_layouts in enumerate(iterable):
105
+ manager = ZellijLocalManager(session_layouts=a_layouts)
106
+ manager.start_all_sessions(poll_interval=2, poll_seconds=2)
107
+ if monitor:
108
+ manager.run_monitoring_routine(wait_ms=2000)
109
+ if kill_upon_completion:
110
+ manager.kill_all_sessions()
111
+ if i < len(layouts_selected) - 1: # Don't sleep after the last layout
112
+ time.sleep(sleep_inbetween)
113
+ elif platform.system() == "Windows":
114
+ from machineconfig.cluster.sessions_managers.wt_local_manager import WTLocalManager
115
+ if not parallel: iterable = [[item] for item in layouts_selected]
116
+ else: iterable = [layouts_selected]
117
+ for i, a_layouts in enumerate(iterable):
118
+ manager = WTLocalManager(session_layouts=a_layouts)
119
+ manager.start_all_sessions()
120
+ if monitor:
121
+ manager.run_monitoring_routine(wait_ms=2000)
122
+ if kill_upon_completion:
123
+ manager.kill_all_sessions()
124
+ if i < len(layouts_selected) - 1: # Don't sleep after the last layout
125
+ time.sleep(sleep_inbetween)
126
+ else:
127
+ print(f"❌ Unsupported platform: {platform.system()}")
128
+
129
+
130
+ if __name__ == "__main__":
131
+ from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
@@ -5,12 +5,6 @@ in the event that username@github.com is not mentioned in the remote url.
5
5
 
6
6
  """
7
7
 
8
- from machineconfig.utils.io import read_ini
9
- from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
10
- from machineconfig.utils.path_extended import PathExtended as PathExtended
11
- from machineconfig.scripts.python.repos_helper_record import main as record_repos
12
- from machineconfig.scripts.python.repos_helper_clone import clone_repos
13
- from machineconfig.scripts.python.repos_helper_action import perform_git_operations
14
8
 
15
9
  import typer
16
10
  from typing import Annotated, Optional
@@ -34,6 +28,13 @@ def main(
34
28
  print("📂 Welcome to the Repository Manager")
35
29
  print("=" * 50 + "\n")
36
30
 
31
+ from machineconfig.utils.io import read_ini
32
+ from machineconfig.utils.source_of_truth import CONFIG_PATH, DEFAULTS_PATH
33
+ from machineconfig.utils.path_extended import PathExtended as PathExtended
34
+ from machineconfig.scripts.python.repos_helper_record import main as record_repos
35
+ from machineconfig.scripts.python.repos_helper_clone import clone_repos
36
+ from machineconfig.scripts.python.repos_helper_action import perform_git_operations
37
+
37
38
  if directory == "":
38
39
  repos_root = PathExtended.home().joinpath("code") # it is a positional argument, can never be empty.
39
40
  else: