machineconfig 6.82__py3-none-any.whl → 7.98__py3-none-any.whl

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.
Files changed (294) hide show
  1. machineconfig/cluster/remote/cloud_manager.py +1 -1
  2. machineconfig/cluster/sessions_managers/utils/maker.py +25 -13
  3. machineconfig/cluster/sessions_managers/wt_local.py +16 -221
  4. machineconfig/cluster/sessions_managers/wt_local_manager.py +55 -193
  5. machineconfig/cluster/sessions_managers/wt_remote_manager.py +42 -198
  6. machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
  7. machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
  8. machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
  9. machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
  10. machineconfig/cluster/sessions_managers/zellij_local_manager.py +3 -1
  11. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
  12. machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
  13. machineconfig/jobs/installer/custom/boxes.py +2 -2
  14. machineconfig/jobs/installer/custom/hx.py +75 -18
  15. machineconfig/jobs/installer/custom/yazi.py +119 -0
  16. machineconfig/jobs/installer/custom_dev/brave.py +5 -3
  17. machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
  18. machineconfig/jobs/installer/custom_dev/code.py +4 -1
  19. machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +1 -1
  20. machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
  21. machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +27 -22
  22. machineconfig/jobs/installer/custom_dev/sysabc.py +139 -0
  23. machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
  24. machineconfig/jobs/installer/custom_dev/winget.py +10 -14
  25. machineconfig/jobs/installer/installer_data.json +1287 -216
  26. machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
  27. machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
  28. machineconfig/jobs/installer/package_groups.py +58 -89
  29. machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
  30. machineconfig/logger.py +0 -1
  31. machineconfig/profile/create_helper.py +43 -16
  32. machineconfig/profile/create_links.py +2 -1
  33. machineconfig/profile/create_links_export.py +64 -18
  34. machineconfig/profile/create_shell_profile.py +78 -127
  35. machineconfig/profile/mapper.toml +15 -8
  36. machineconfig/scripts/__init__.py +0 -4
  37. machineconfig/scripts/linux/wrap_mcfg +46 -0
  38. machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
  39. machineconfig/scripts/python/agents.py +52 -37
  40. machineconfig/scripts/python/ai/initai.py +1 -1
  41. machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
  42. machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
  43. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
  44. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
  45. machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
  46. machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
  47. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
  48. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
  49. machineconfig/scripts/python/ai/solutions/generic.py +1 -1
  50. machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
  51. machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +7 -2
  52. machineconfig/scripts/python/croshell.py +77 -78
  53. machineconfig/scripts/python/devops.py +39 -21
  54. machineconfig/scripts/python/devops_navigator.py +0 -4
  55. machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
  56. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  57. machineconfig/scripts/python/fire_jobs.py +84 -115
  58. machineconfig/scripts/python/ftpx.py +42 -16
  59. machineconfig/scripts/python/helpers/ast_search.py +74 -0
  60. machineconfig/scripts/python/helpers/qr_code.py +166 -0
  61. machineconfig/scripts/python/helpers/repo_rag.py +325 -0
  62. machineconfig/scripts/python/helpers/run_py_script.py +79 -0
  63. machineconfig/scripts/python/helpers/symantic_search.py +25 -0
  64. machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +26 -0
  65. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_crush.json +1 -1
  66. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
  67. machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
  68. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
  69. machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
  70. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_launch.py +32 -13
  71. machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_helper_types.py +11 -14
  72. machineconfig/scripts/python/helpers_agents/templates/prompt.txt +10 -0
  73. machineconfig/scripts/python/helpers_agents/templates/template.sh +32 -0
  74. machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
  75. machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
  76. machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
  77. machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
  78. machineconfig/scripts/python/helpers_croshell/crosh.py +3 -3
  79. machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
  80. machineconfig/scripts/python/helpers_devops/cli_config.py +46 -61
  81. machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +67 -55
  82. machineconfig/scripts/python/helpers_devops/cli_nw.py +157 -16
  83. machineconfig/scripts/python/helpers_devops/cli_repos.py +55 -21
  84. machineconfig/scripts/python/helpers_devops/cli_self.py +98 -48
  85. machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
  86. machineconfig/scripts/python/helpers_devops/cli_share_server.py +80 -42
  87. machineconfig/scripts/python/helpers_devops/{cli_terminal.py → cli_share_terminal.py} +15 -17
  88. machineconfig/scripts/python/helpers_devops/cli_utils.py +3 -128
  89. machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +4 -4
  90. machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
  91. machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +1 -1
  92. machineconfig/scripts/python/{helpers_fire/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
  93. machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +26 -16
  94. machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
  95. machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +3 -3
  96. machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
  97. machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
  98. machineconfig/scripts/python/helpers_network/address.py +132 -0
  99. machineconfig/scripts/python/{nw → helpers_network}/devops_add_ssh_key.py +24 -5
  100. machineconfig/scripts/python/{nw → helpers_network}/mount_nfs +0 -1
  101. machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
  102. machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
  103. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
  104. machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
  105. machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +1 -53
  106. machineconfig/scripts/python/{nw → helpers_network}/wsl_windows_transfer.py +3 -2
  107. machineconfig/scripts/python/helpers_repos/clone.py +0 -1
  108. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +46 -19
  109. machineconfig/scripts/python/helpers_repos/entrypoint.py +2 -1
  110. machineconfig/scripts/python/helpers_repos/grource.py +1 -1
  111. machineconfig/scripts/python/helpers_repos/record.py +2 -1
  112. machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
  113. machineconfig/scripts/python/helpers_repos/{count_lines.py → repo_analyzer_2.py} +113 -192
  114. machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +20 -13
  115. machineconfig/scripts/python/helpers_utils/download.py +150 -0
  116. machineconfig/scripts/python/helpers_utils/path.py +185 -0
  117. machineconfig/scripts/python/interactive.py +19 -26
  118. machineconfig/scripts/python/{mcfg.py → mcfg_entry.py} +10 -0
  119. machineconfig/scripts/python/msearch.py +71 -0
  120. machineconfig/scripts/python/sessions.py +94 -25
  121. machineconfig/scripts/python/terminal.py +133 -0
  122. machineconfig/scripts/python/utils.py +28 -30
  123. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  124. machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
  125. machineconfig/settings/broot/conf.toml +1 -1
  126. machineconfig/settings/helix/config.toml +16 -0
  127. machineconfig/settings/helix/languages.toml +13 -4
  128. machineconfig/settings/helix/yazi-picker.sh +12 -0
  129. machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
  130. machineconfig/settings/lf/linux/exe/previewer.sh +3 -2
  131. machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
  132. machineconfig/settings/lf/windows/lfrc +14 -16
  133. machineconfig/settings/marimo/marimo.toml +1 -1
  134. machineconfig/settings/marimo/snippets/globalize.py +34 -0
  135. machineconfig/settings/shells/bash/init.sh +43 -11
  136. machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
  137. machineconfig/settings/shells/nushell/config.nu +2 -32
  138. machineconfig/settings/shells/nushell/env.nu +45 -6
  139. machineconfig/settings/shells/nushell/init.nu +314 -0
  140. machineconfig/settings/shells/pwsh/init.ps1 +40 -14
  141. machineconfig/settings/shells/starship/starship.toml +16 -0
  142. machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
  143. machineconfig/settings/shells/wt/settings.json +14 -5
  144. machineconfig/settings/shells/zsh/init.sh +17 -19
  145. machineconfig/settings/television/cable_unix/alias.toml +8 -0
  146. machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
  147. machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
  148. machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
  149. machineconfig/settings/television/cable_unix/channels.toml +19 -0
  150. machineconfig/settings/television/cable_unix/dirs.toml +13 -0
  151. machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
  152. machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
  153. machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
  154. machineconfig/settings/television/cable_unix/env.toml +17 -0
  155. machineconfig/settings/television/cable_unix/files.toml +11 -0
  156. machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
  157. machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
  158. machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
  159. machineconfig/settings/television/cable_unix/git-log.toml +12 -0
  160. machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
  161. machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
  162. machineconfig/settings/television/cable_unix/guix.toml +20 -0
  163. machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
  164. machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
  165. machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
  166. machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
  167. machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
  168. machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
  169. machineconfig/settings/television/cable_unix/procs.toml +20 -0
  170. machineconfig/settings/television/cable_unix/text.toml +17 -0
  171. machineconfig/settings/television/cable_unix/tldr.toml +18 -0
  172. machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
  173. machineconfig/settings/television/cable_windows/alias.toml +7 -0
  174. machineconfig/settings/television/cable_windows/dirs.toml +13 -0
  175. machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
  176. machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
  177. machineconfig/settings/television/cable_windows/env.toml +17 -0
  178. machineconfig/settings/television/cable_windows/files.toml +14 -0
  179. machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
  180. machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
  181. machineconfig/settings/television/cable_windows/git-log.toml +11 -0
  182. machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
  183. machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
  184. machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
  185. machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
  186. machineconfig/settings/television/cable_windows/text.toml +17 -0
  187. machineconfig/settings/yazi/init.lua +61 -0
  188. machineconfig/settings/yazi/keymap_linux.toml +94 -0
  189. machineconfig/settings/yazi/keymap_windows.toml +78 -0
  190. machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
  191. machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
  192. machineconfig/settings/yazi/theme.toml +4 -0
  193. machineconfig/settings/yazi/yazi_linux.toml +84 -0
  194. machineconfig/settings/yazi/yazi_windows.toml +58 -0
  195. machineconfig/setup_linux/__init__.py +2 -1
  196. machineconfig/setup_linux/web_shortcuts/interactive.sh +27 -12
  197. machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
  198. machineconfig/setup_mac/__init__.py +2 -3
  199. machineconfig/setup_mac/apps_gui.sh +248 -0
  200. machineconfig/setup_windows/__init__.py +3 -3
  201. machineconfig/setup_windows/uv.ps1 +8 -1
  202. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +26 -11
  203. machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
  204. machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
  205. machineconfig/utils/accessories.py +7 -4
  206. machineconfig/utils/code.py +99 -32
  207. machineconfig/utils/files/ascii_art.py +1 -1
  208. machineconfig/utils/files/headers.py +3 -2
  209. machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
  210. machineconfig/utils/installer_utils/install_from_url.py +183 -0
  211. machineconfig/utils/installer_utils/installer_class.py +42 -99
  212. machineconfig/utils/installer_utils/installer_cli.py +175 -0
  213. machineconfig/utils/installer_utils/installer_helper.py +129 -0
  214. machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +36 -85
  215. machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +16 -61
  216. machineconfig/utils/io.py +69 -1
  217. machineconfig/utils/links.py +56 -38
  218. machineconfig/utils/meta.py +33 -18
  219. machineconfig/utils/options.py +46 -18
  220. machineconfig/utils/options_tv.py +119 -0
  221. machineconfig/utils/path_extended.py +44 -95
  222. machineconfig/utils/path_helper.py +76 -23
  223. machineconfig/utils/procs.py +1 -1
  224. machineconfig/utils/scheduler.py +20 -53
  225. machineconfig/utils/scheduling.py +0 -2
  226. machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
  227. machineconfig/utils/schemas/layouts/layout_types.py +1 -1
  228. machineconfig/utils/ssh.py +159 -412
  229. machineconfig/utils/ssh_utils/abc.py +5 -0
  230. machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
  231. machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
  232. machineconfig/utils/ssh_utils/utils.py +142 -0
  233. machineconfig/utils/ssh_utils/wsl.py +210 -0
  234. machineconfig/utils/terminal.py +1 -0
  235. machineconfig/utils/upgrade_packages.py +104 -28
  236. machineconfig/utils/ve.py +12 -4
  237. machineconfig-7.98.dist-info/METADATA +132 -0
  238. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/RECORD +259 -196
  239. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/entry_points.txt +4 -1
  240. machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
  241. machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
  242. machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
  243. machineconfig/scripts/linux/fzf2g +0 -21
  244. machineconfig/scripts/linux/fzfag +0 -17
  245. machineconfig/scripts/linux/fzffg +0 -25
  246. machineconfig/scripts/linux/fzfrga +0 -21
  247. machineconfig/scripts/linux/mcfgs +0 -38
  248. machineconfig/scripts/linux/other/share_smb +0 -1
  249. machineconfig/scripts/linux/skrg +0 -4
  250. machineconfig/scripts/linux/warp-cli.sh +0 -122
  251. machineconfig/scripts/linux/z_ls +0 -104
  252. machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
  253. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -37
  254. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -44
  255. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -43
  256. machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
  257. machineconfig/scripts/python/helpers_fire/template.sh +0 -15
  258. machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
  259. machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -15
  260. machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
  261. machineconfig/scripts/windows/fzfb.ps1 +0 -3
  262. machineconfig/scripts/windows/fzfg.ps1 +0 -2
  263. machineconfig/scripts/windows/fzfrga.bat +0 -20
  264. machineconfig/scripts/windows/mcfgs.ps1 +0 -17
  265. machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
  266. machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
  267. machineconfig/settings/lf/windows/tst.ps1 +0 -1
  268. machineconfig/settings/yazi/yazi.toml +0 -4
  269. machineconfig/setup_linux/apps.sh +0 -66
  270. machineconfig/setup_linux/others/cli_installation.sh +0 -137
  271. machineconfig/setup_mac/apps.sh +0 -73
  272. machineconfig/setup_windows/apps.ps1 +0 -62
  273. machineconfig/utils/installer_utils/installer.py +0 -225
  274. machineconfig-6.82.dist-info/METADATA +0 -82
  275. /machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
  276. /machineconfig/scripts/python/{helpers_fire → ai/utils}/__init__.py +0 -0
  277. /machineconfig/scripts/python/{helpers_fire/agentic_frameworks → helpers_agents}/__init__.py +0 -0
  278. /machineconfig/scripts/python/{nw → helpers_agents/agentic_frameworks}/__init__.py +0 -0
  279. /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_search.py +0 -0
  280. /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_load_balancer.py +0 -0
  281. /machineconfig/scripts/python/{helpers_fire → helpers_agents/templates}/template.ps1 +0 -0
  282. /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
  283. /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_network/__init__.py} +0 -0
  284. /machineconfig/scripts/python/{nw → helpers_network}/devops_add_identity.py +0 -0
  285. /machineconfig/scripts/python/{nw → helpers_network}/mount_drive +0 -0
  286. /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive +0 -0
  287. /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
  288. /machineconfig/scripts/python/{nw → helpers_network}/mount_smb +0 -0
  289. /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
  290. /machineconfig/scripts/{Restore-ThunderbirdProfile.ps1 → windows/mounts/Restore-ThunderbirdProfile.ps1} +0 -0
  291. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
  292. /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
  293. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/WHEEL +0 -0
  294. {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/top_level.txt +0 -0
@@ -5,6 +5,9 @@ croshell = machineconfig.scripts.python.croshell:main
5
5
  devops = machineconfig.scripts.python.devops:main
6
6
  fire = machineconfig.scripts.python.fire_jobs:main
7
7
  ftpx = machineconfig.scripts.python.ftpx:main
8
- mcfg = machineconfig.scripts.python.mcfg:main
8
+ machineconfig = machineconfig.scripts.python.mcfg_entry:main
9
+ mcfg = machineconfig.scripts.python.mcfg_entry:main
10
+ msearch = machineconfig.scripts.python.msearch:main
9
11
  sessions = machineconfig.scripts.python.sessions:main
12
+ terminal = machineconfig.scripts.python.terminal:main
10
13
  utils = machineconfig.scripts.python.utils:main
@@ -1,41 +0,0 @@
1
- #!/bin/bash
2
- # 🐘 POSTGRESQL INSTALLATION SCRIPT 🐘
3
- # This script installs PostgreSQL database on Ubuntu/Debian systems
4
- # Reference: https://www.postgresql.org/download/linux/ubuntu/
5
-
6
- echo """🚀 STARTING POSTGRESQL INSTALLATION | Setting up PostgreSQL database
7
- """
8
-
9
- # Install PostgreSQL common package
10
- echo "📥 Installing PostgreSQL common package..."
11
- sudo nala install postgresql-common -y
12
-
13
- # Run the PostgreSQL repository setup script
14
- echo "🔧 Setting up PostgreSQL repository..."
15
- sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
16
-
17
- # Install PostgreSQL 17
18
- echo """📦 INSTALLING POSTGRESQL | Installing PostgreSQL 17
19
- """
20
- sudo nala install postgresql-17 -y
21
- # Alternative: sudo nala install postgresql -y
22
-
23
- echo """✅ INSTALLATION COMPLETE | PostgreSQL has been installed successfully
24
- """
25
- echo "ℹ️ PostgreSQL service should be running automatically"
26
- echo "💡 Connect to default 'postgres' database with: sudo -u postgres psql"
27
- echo "🔄 To check service status: sudo systemctl status postgresql"
28
-
29
- # REMOVAL INSTRUCTIONS:
30
- echo """#-----------------------------------------------------------------------
31
- 📝 NOTES | For future reference
32
- #-----------------------------------------------------------------------
33
- To remove PostgreSQL completely:
34
- sudo apt-get --purge remove postgresql postgresql-*
35
- """
36
-
37
- # Alternative installation method (commented out):
38
- # sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $ubuntu_version-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
39
- # curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
40
- # sudo nala update
41
-
@@ -1,71 +0,0 @@
1
- #!/bin/bash
2
- # ⏱️ TIMESCALEDB INSTALLATION SCRIPT ⏱️
3
- # This script installs TimescaleDB on Ubuntu/Debian-based Linux distributions
4
- # Reference: https://docs.timescale.com/self-hosted/latest/install/installation-linux/
5
-
6
- echo """🔍 DETECTING SYSTEM | Identifying OS distribution version
7
- """
8
-
9
- get_ubuntu_base_version() {
10
- local os_codename=$(lsb_release -cs)
11
- case "$os_codename" in
12
- "wilma")
13
- echo "noble" # Map Mint Wilma to the base image Ubuntu 24.04 LTS
14
- ;;
15
- "virginia")
16
- echo "jammy" # Map Mint Virginia to the base image Ubuntu 22.04 LTS
17
- ;;
18
- *)
19
- echo "$os_codename"
20
- ;;
21
- esac
22
- }
23
-
24
- ubuntu_version=$(get_ubuntu_base_version)
25
- echo "📋 Detected distribution: $ubuntu_version"
26
-
27
- echo """🐘 INSTALLING POSTGRESQL | Setting up PostgreSQL dependencies
28
- """
29
-
30
- # Add PostgreSQL repository setup
31
- echo "🔧 Setting up PostgreSQL repository..."
32
- sudo nala install postgresql-common -y
33
- sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
34
-
35
- echo """🔑 ADDING REPOSITORY KEYS | Setting up TimescaleDB repository
36
- """
37
-
38
- # Add TimescaleDB repository
39
- echo "📝 Adding TimescaleDB repository to sources list..."
40
- echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $ubuntu_version main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
41
-
42
- echo "🔐 Adding TimescaleDB GPG key..."
43
- wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
44
-
45
- echo """📦 INSTALLING TIMESCALEDB | Updating and installing packages
46
- """
47
-
48
- # Update package lists
49
- echo "🔄 Updating package lists..."
50
- sudo nala update
51
-
52
- # Install TimescaleDB with PostgreSQL 16
53
- echo "📥 Installing PostgreSQL 16 and TimescaleDB..."
54
- sudo nala install -y postgresql-16 postgresql-client-16 timescaledb-2-postgresql-16
55
-
56
- echo """⚙️ CONFIGURING TIMESCALEDB | Optimizing database settings
57
- """
58
-
59
- # Run TimescaleDB tuning tool
60
- echo "🔧 Running TimescaleDB tuning utility..."
61
- sudo timescaledb-tune
62
-
63
- # Restart PostgreSQL service
64
- echo "🔄 Restarting PostgreSQL service..."
65
- sudo systemctl restart postgresql
66
-
67
- echo """✅ INSTALLATION COMPLETE | TimescaleDB has been installed successfully
68
- """
69
- echo "🚀 To connect to PostgreSQL, run: sudo -u postgres psql"
70
- echo "💡 To enable TimescaleDB in a database, run: CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;"
71
- echo "ℹ️ For more information, visit: https://docs.timescale.com/self-hosted/latest/install/"
@@ -1,12 +0,0 @@
1
-
2
- # install https://visualstudio.microsoft.com/visual-cpp-build-tools/
3
- # include
4
- # winget install Microsoft.VisualStudio.2022.BuildTools
5
- # winget install Microsoft.VC++2015-2022Redist-x86
6
-
7
-
8
- uv pip install --global-option=build_ext --global-option="-IC:\Program Files\Graphviz\include" --global-option="-LC:\Program Files\Graphviz\lib" pygraphviz
9
- # not including the options as above (from https://pygraphviz.github.io/documentation/stable/install.html)
10
- # would result in an error like this: pygraphviz/graphviz_wrap.c(2711): fatal error C1083: Cannot open include file: 'graphviz/cgraph.h': No such file or directory
11
-
12
-
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # uses fzf as interactive ripgrep launcher.
4
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#using-fzf-as-interative-ripgrep-launcher
5
-
6
- # 1. Search for text in files using Ripgrep
7
- # 2. Interactively restart Ripgrep with reload action
8
- # 3. Open the file in Vim
9
-
10
- RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
11
- INITIAL_QUERY="${*:-}"
12
- IFS=: read -ra selected < <(
13
- FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
14
- fzf --ansi \
15
- --disabled --query "$INITIAL_QUERY" \
16
- --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
17
- --delimiter : \
18
- --preview 'bat --color=always {1} --highlight-line {2}' \
19
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
20
- )
21
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # uses fzf as filter After ripgrep (secondary filter)
4
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#ripgrep-integration
5
- # 1. Search for text in files using Ripgrep
6
- # 2. Interactively narrow down the list using fzf
7
- # 3. Open the file in Vim
8
- IFS=: read -ra selected < <(
9
- rg --color=always --line-number --no-heading --smart-case "${*:-}" |
10
- fzf --ansi \
11
- --color "hl:-1:underline,hl+:-1:underline:reverse" \
12
- --delimiter : \
13
- --preview 'batcat --color=always {1} --highlight-line {2}' \
14
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
15
- )
16
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
17
-
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env bash
2
- # fzf from grep
3
- # from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#switching-to-fzf-only-search-mode
4
-
5
- # Two-phase filtering with Ripgrep and fzf
6
- #
7
- # 1. Search for text in files using Ripgrep
8
- # 2. Interactively restart Ripgrep with reload action
9
- # * Press alt-enter to switch to fzf-only filtering
10
- # 3. Open the file in Vim
11
- RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
12
- INITIAL_QUERY="${*:-}"
13
- IFS=: read -ra selected < <(
14
- FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
15
- fzf --ansi \
16
- --color "hl:-1:underline,hl+:-1:underline:reverse" \
17
- --disabled --query "$INITIAL_QUERY" \
18
- --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
19
- --bind "alt-enter:unbind(change,alt-enter)+change-prompt(2. fzf> )+enable-search+clear-query" \
20
- --prompt '1. ripgrep> ' \
21
- --delimiter : \
22
- --preview 'batcat --color=always {1} --highlight-line {2}' \
23
- --preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
24
- )
25
- [ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # From https://github.com/phiresky/ripgrep-all/wiki/fzf-Integration
4
-
5
- rga-fzf() {
6
- RG_PREFIX="rga --files-with-matches"
7
- local file
8
- file="$(
9
- FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \
10
- fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \
11
- --phony -q "$1" \
12
- --bind "change:reload:$RG_PREFIX {q}" \
13
- --preview-window="70%:wrap"
14
- )" &&
15
- echo "opening $file" &&
16
- xdg-open "$file"
17
- }
18
-
19
-
20
- # run the function
21
- rga-fzf
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- RANDOM_NAME=$(date +%s%N | sha256sum | head -c 16)
5
- OP_DIR="$HOME/tmp_results/tmp_scripts/machineconfig"
6
- OP_PROGRAM_PATH="$OP_DIR/${RANDOM_NAME}.sh"
7
- export OP_PROGRAM_PATH
8
-
9
- # ANSI color/style codes
10
- BOLD="\033[1m"
11
- RESET="\033[0m"
12
- GREEN="\033[32m"
13
- YELLOW="\033[33m"
14
- BLUE="\033[34m"
15
- RED="\033[31m"
16
-
17
- timestamp=$(date -u +"%Y-%m-%d %H:%M:%SZ")
18
-
19
- printf "%b\n" "${BOLD}${BLUE}🛠️ machineconfig — running mcfg${RESET}"
20
- printf "%b\n" "${BLUE}Timestamp:${RESET} ${timestamp}"
21
- printf "%b\n" "${BLUE}Op program path:${RESET} ${OP_PROGRAM_PATH}"
22
-
23
- # Forward arguments to the mcfg command
24
- mcfg "$@"
25
-
26
- if [[ -f "$OP_PROGRAM_PATH" ]]; then
27
- printf "%b\n" "${GREEN}✅ Found op program:${RESET} ${OP_PROGRAM_PATH}"
28
- printf "%b\n" "${GREEN}▶ Running...${RESET}"
29
- . "$OP_PROGRAM_PATH"
30
- status=$?
31
- if [[ $status -eq 0 ]]; then
32
- printf "%b\n" "${GREEN}✅ Completed successfully (exit ${status})${RESET}"
33
- else
34
- printf "%b\n" "${YELLOW}⚠️ Program exited with status ${status}${RESET}"
35
- fi
36
- else
37
- printf "%b\n" "${YELLOW}⚠️ No op program found at: ${OP_PROGRAM_PATH}${RESET}"
38
- fi
@@ -1 +0,0 @@
1
- #!/usr/bin/env bash
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # from https://github.com/lotabout/skim#interactive-mode
4
- sk --ansi -i -c 'rg --color=always --line-number "{}"'
@@ -1,122 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Installs Cloudflare WARP (warp-cli) on supported Ubuntu / Debian systems.
3
- # Usage: sudo ./warp-cli.sh [--allow-unsupported] [--force-reinstall]
4
-
5
- set -euo pipefail
6
-
7
- ALLOW_UNSUPPORTED=0
8
- FORCE_REINSTALL=0
9
-
10
- for arg in "$@"; do
11
- case "$arg" in
12
- --allow-unsupported) ALLOW_UNSUPPORTED=1 ;;
13
- --force-reinstall) FORCE_REINSTALL=1 ;;
14
- -h|--help)
15
- printf "Usage: %s [--allow-unsupported] [--force-reinstall]\n" "$0"
16
- exit 0
17
- ;;
18
- *)
19
- printf "Unknown argument: %s\n" "$arg" >&2
20
- exit 2
21
- ;;
22
- esac
23
- done
24
-
25
- require_root() {
26
- if [ "${EUID}" -ne 0 ]; then
27
- printf "Please run as root (use sudo).\n" >&2
28
- exit 1
29
- fi
30
- }
31
-
32
- have_cmd() { command -v "$1" >/dev/null 2>&1; }
33
-
34
- detect_os() {
35
- if have_cmd lsb_release; then
36
- DIST_ID=$(lsb_release -si 2>/dev/null | tr '[:upper:]' '[:lower:]')
37
- CODENAME=$(lsb_release -sc 2>/dev/null | tr '[:upper:]' '[:lower:]')
38
- elif [ -f /etc/os-release ]; then
39
- # shellcheck disable=SC1091
40
- . /etc/os-release
41
- DIST_ID=$(printf "%s" "${ID:-}" | tr '[:upper:]' '[:lower:]')
42
- CODENAME=$(printf "%s" "${VERSION_CODENAME:-}" | tr '[:upper:]' '[:lower:]')
43
- else
44
- printf "Cannot detect distribution. Install lsb_release or provide /etc/os-release.\n" >&2
45
- exit 1
46
- fi
47
- }
48
-
49
- is_supported() {
50
- case "$DIST_ID" in
51
- ubuntu)
52
- # Supported: noble jammy focal (older: bionic xenial)
53
- case "$CODENAME" in
54
- noble|jammy|focal|bionic|xenial) return 0 ;; esac ;;
55
- debian)
56
- # Supported: bookworm bullseye buster (older: stretch)
57
- case "$CODENAME" in
58
- bookworm|bullseye|buster|stretch) return 0 ;; esac ;;
59
- esac
60
- return 1
61
- }
62
-
63
- add_key() {
64
- local key_path="/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg"
65
- if [ -s "$key_path" ]; then
66
- return 0
67
- fi
68
- curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output "$key_path"
69
- }
70
-
71
- add_repo() {
72
- local list_file="/etc/apt/sources.list.d/cloudflare-client.list"
73
- if grep -q "pkg.cloudflareclient.com" "$list_file" 2>/dev/null; then
74
- return 0
75
- fi
76
- echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ ${CODENAME} main" > "$list_file"
77
- }
78
-
79
- need_update=0
80
- install_package() {
81
- if dpkg -s cloudflare-warp >/dev/null 2>&1; then
82
- if [ "$FORCE_REINSTALL" -eq 1 ]; then
83
- apt-get install --reinstall -y cloudflare-warp
84
- else
85
- printf "cloudflare-warp already installed. Use --force-reinstall to reinstall.\n"
86
- fi
87
- else
88
- apt-get install -y cloudflare-warp
89
- fi
90
- }
91
-
92
- main() {
93
- require_root
94
- if ! have_cmd apt-get; then
95
- printf "apt-get not found. This script supports only Debian/Ubuntu.\n" >&2
96
- exit 1
97
- fi
98
- detect_os
99
- if ! is_supported; then
100
- if [ "$ALLOW_UNSUPPORTED" -ne 1 ]; then
101
- printf "Distribution %s (%s) not in supported list. Use --allow-unsupported to proceed.\n" "$DIST_ID" "$CODENAME" >&2
102
- exit 3
103
- else
104
- printf "Proceeding on unsupported distribution %s (%s).\n" "$DIST_ID" "$CODENAME"
105
- fi
106
- fi
107
- pre_key_checksum=$( [ -f /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg ] && sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1 || true )
108
- add_key
109
- post_key_checksum=$(sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1)
110
- if [ "$pre_key_checksum" != "$post_key_checksum" ]; then need_update=1; fi
111
- repo_before=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
112
- add_repo
113
- repo_after=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
114
- if [ "$repo_before" != "$repo_after" ]; then need_update=1; fi
115
- if [ "$need_update" -eq 1 ]; then
116
- apt-get update
117
- fi
118
- install_package
119
- printf "Done. Basic usage: 'warp-cli register' then 'warp-cli connect'. For account: 'warp-cli set-mode warp'.\n"
120
- }
121
-
122
- main "$@"
@@ -1,104 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # if variable zellij is not set, then set it to /$HOME/.local/bin/zellij
4
- if [ -z "$zellij" ]; then
5
- # zellij="$HOME/.local/bin/zellij"
6
- PATH="$HOME/.local/bin:$PATH"
7
- fi
8
-
9
- # adopted from https://zellij.dev/documentation/integration.html
10
- ZJ_SESSIONS=$(zellij list-sessions)
11
- # echo "$ZJ_SESSIONS"
12
-
13
-
14
- attach=false
15
-
16
- while (( "$#" )); do
17
- case "$1" in
18
- --attach)
19
- attach=true
20
- shift
21
- ;;
22
- *)
23
- shift
24
- ;;
25
- esac
26
- done
27
-
28
- if $attach; then
29
- echo "attached"
30
- fi
31
-
32
-
33
- NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
34
- # if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
35
- if [ -z "${ZJ_SESSIONS}" ]; then
36
- NO_SESSIONS=0
37
- fi
38
-
39
- # check whether the string "(current)" is in ZJ_SESSIONS
40
- if [[ "${ZJ_SESSIONS}" == *"(current)"* ]]; then
41
- # if so, then we are in a zellijsession
42
- echo "already inside a session, existing."
43
- COMMANDS=$(ls $HOME/.config/machineconfig/settings/zellij/commands)
44
- # fzf the results
45
- res="$(echo -e "${COMMANDS}" | fzf --ansi)"
46
- # run the bash fiZJ_SESSIONSle chosen
47
- bash $HOME/.config/machineconfig/settings/zellij/commands/$res
48
-
49
- else # ==> we are not in a zellijsession
50
- if [ "${NO_SESSIONS}" -ge 1 ]; then # sessions do exist
51
-
52
- # remove sessions that have 'EXITED' in them
53
- ZJ_SESSIONS=$(echo -e "${ZJ_SESSIONS}" | grep -v "EXITED")
54
-
55
- echo "zj_sessions:$ZJ_SESSIONS:end of zj_sessions"
56
-
57
- # if the result has only 1 line in it and $attach is raised, then attach to it and exit the if statement and the script
58
- NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
59
-
60
- echo "NO_SESSIONS: $NO_SESSIONS"
61
-
62
- # if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
63
- if [ -z "${ZJ_SESSIONS}" ]; then
64
- NO_SESSIONS=0
65
- zellij --layout st2
66
- exit 0
67
- fi
68
- echo "NO_SESSIONS: $NO_SESSIONS"
69
-
70
- if [ "${NO_SESSIONS}" -eq 1 ] && $attach; then
71
- chosen_session=$(echo -e "${ZJ_SESSIONS}" | cut -d' ' -f1)
72
- # remove the ansi colors from chosen_session
73
- chosen_session=$(echo $chosen_session | sed 's/\x1b\[[0-9;]*m//g')
74
- # echo "attaching to $chosen_session exclusively."
75
- zellij attach "$chosen_session"
76
- exit 0
77
- fi
78
-
79
- # add my options to the list of sessions
80
- # if number of sessions is zero, then exclude ZJ_SESSIONS from the fzf options
81
- if [ "${NO_SESSIONS}" -eq 0 ]; then
82
- ZJ_SESSIONS="new_session\nkill_all_and_create_fresh_one\nexit_zellij"
83
- else
84
- ZJ_SESSIONS="$ZJ_SESSIONS\nnew_session\nkill_all_and_create_fresh_one\nexit_zellij"
85
- fi
86
-
87
- res="$(echo -e "${ZJ_SESSIONS}" | fzf --ansi)"
88
- # split `res` at the first space, and take the first element
89
- res=$(echo $res | cut -d' ' -f1)
90
- if [ "${res}" = "exit_zellij" ]; then
91
- echo "existing zellij."
92
- elif [ "${res}" = "new_session" ]; then
93
- zellij --layout st2 # can't specify name here. I can call it "main" only if it is the first, otherwise name conflict! also, can't use attach -c syntax because layout can't be specified.
94
- elif [ "${res}" = "kill_all_and_create_fresh_one" ]; then
95
- zellij ka -y
96
- zellij --layout st2
97
- else
98
- zellij attach $res # options --mirror-session false
99
- fi
100
- else # no sessions, create one called main
101
- zellij --layout st2
102
- fi
103
-
104
- fi
@@ -1,9 +0,0 @@
1
-
2
- I have started a watch-exec server in my terminal and its working now.
3
- I have set it up to re-run thi script `.ai/terminal/debug/command_runner.sh` automatically.
4
- A re-run is triggered upon any change of any python file in the repo, or, any change in the make_output.sh script itself.
5
- The script redirects the output from terminal to the file ./.ai/debug/terminal_output.txt
6
- Run takes 50 ms only. So by the time you finish editing any python file or the command runner script, the new output is ready for you to read in that text file,
7
- this makes it much faster for you to iterate because pulling the terminal and closing it every time is a bit slow.
8
- Please use the terminal_output.txt as your main iteration driver.
9
- please fix the mistakes that you can see in terminal output.
@@ -1,37 +0,0 @@
1
-
2
- from pathlib import Path
3
- # import shlex
4
- from typing import Optional
5
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST, PROVIDER, MODEL
6
-
7
-
8
- def fire_crush(api_key: Optional[str], model: MODEL, provider: PROVIDER, machine: HOST, prompt_path: Path, repo_root: Path) -> str:
9
- match machine:
10
- case "local":
11
- cmd = f"""
12
- crush run {prompt_path}
13
- """
14
- case "docker":
15
- assert api_key is not None, "API key is required for Crush agent in docker mode."
16
- json_path = Path(__file__).parent / "fire_crush.json"
17
- json_template = json_path.read_text(encoding="utf-8")
18
- json_filled = json_template.replace("{api_key}", api_key).replace("{model}", model).replace("{provider}", provider)
19
- import tempfile
20
- temp_config_file_local = tempfile.mkstemp(suffix=".json")[1]
21
- Path(temp_config_file_local).write_text(json_filled, encoding="utf-8")
22
- cmd = f"""
23
-
24
- # -e "PATH_PROMPT=$PATH_PROMPT"
25
- # opencode --model "{provider}/{model}" run {prompt_path}
26
-
27
-
28
- echo "Running prompt @ {prompt_path.relative_to(repo_root)} using Docker with Crush..."
29
- docker run -it --rm \
30
- -v "{repo_root}:/workspace/{repo_root.name}" \
31
- -v "{temp_config_file_local}:/root/.local/share/crush/crush.json" \
32
- -w "/workspace/{repo_root.name}" \
33
- statistician/machineconfig:latest \
34
- bash -i -c "source ~/.bashrc && cd /workspace/{repo_root.name} && cat /root/.local/share/crush/crush.json && crush run 'Please act on contents of this prompt ./{prompt_path.relative_to(repo_root)}'"
35
-
36
- """
37
- return cmd
@@ -1,44 +0,0 @@
1
-
2
- from pathlib import Path
3
- import shlex
4
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
5
- from typing import Optional, Literal
6
-
7
-
8
- def fire_gemini(api_key: Optional[str], model: Literal["gemini-2.5-pro"], provider: Literal["google"], machine: HOST, prompt_path: Path, repo_root: Path) -> str:
9
- _ = provider
10
- # model = "gemini-2.5-flash-lite"
11
- # model = None # auto-select
12
- # if model is None:
13
- # model_arg = ""
14
- # else:
15
- model_arg = f"--model {shlex.quote(model)}"
16
- # Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
17
- safe_path = shlex.quote(str(prompt_path))
18
-
19
- match machine:
20
- case "local":
21
- # Export the environment variable so it's available to subshells
22
- if api_key is not None:
23
- define_api_key = f"""export GEMINI_API_KEY="{shlex.quote(api_key)}" """
24
- else:
25
- define_api_key = "echo 'Warning: No GEMINI_API_KEY provided, hoping it is set in the environment.'"
26
- cmd = f"""
27
- {define_api_key}
28
- echo "Using Gemini API key $GEMINI_API_KEY"
29
- gemini {model_arg} --yolo --prompt {safe_path}
30
- """
31
-
32
-
33
- case "docker":
34
- assert api_key is not None, "When using docker, api_key must be provided."
35
- cmd = f"""
36
- docker run -it --rm \
37
- -e GEMINI_API_KEY="{api_key}" \
38
- -v "{repo_root}:/workspace/{repo_root.name}" \
39
- -w "/workspace/{repo_root.name}" \
40
- statistician/machineconfig:latest \
41
- gemini --prompt "$PATH_PROMPT"
42
- """
43
- return cmd
44
-
@@ -1,43 +0,0 @@
1
-
2
- from pathlib import Path
3
- import shlex
4
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
5
- from typing import Optional, Literal
6
-
7
-
8
- def fire_qwen(config_dir: Optional[str], model: Literal["qwen"], provider: Literal["qwen"], machine: HOST, prompt_path: Path, repo_root: Path) -> str:
9
- # assert model == "qwen", "Only qwen is supported currently."
10
- # assert provider == "qwen", "Only qwen is supported currently."
11
- # model = "qwen"
12
- # model = "gemini-2.5-flash-lite"
13
- # model = None # auto-select
14
- # if model is None:
15
- # model_arg = ""
16
- # else:
17
- _ = provider
18
- # model_arg = f"--model {shlex.quote(model)}"
19
- # Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
20
- safe_path = shlex.quote(str(prompt_path))
21
-
22
- match machine:
23
- case "local":
24
- # Export the environment variable so it's available to subshells
25
- cmd = f"""
26
- qwen --yolo --prompt {safe_path}
27
- """
28
- case "docker":
29
- assert config_dir is not None, "When using docker, config_dir must be provided."
30
- assert Path(config_dir).exists(), f"Provided config_dir {config_dir} does not exist."
31
- oauth_creds = Path(config_dir).joinpath("oauth_creds.json")
32
- settings = Path(config_dir).joinpath("settings.json")
33
-
34
- cmd = f"""
35
- docker run -it --rm \
36
- -v "{repo_root}:/workspace/{repo_root.name}" \
37
- -v {shlex.quote(str(oauth_creds))}:/root/.qwen/oauth_creds.json \
38
- -v {shlex.quote(str(settings))}:/root/.qwen/settings.json \
39
- -w "/workspace/{repo_root.name}" \
40
- statistician/machineconfig:latest \
41
- qwen --prompt "$PATH_PROMPT"
42
- """
43
- return cmd
@@ -1,2 +0,0 @@
1
-
2
- please read the code then explain it in English, put your answer in a markdown file with random name at repo root.
@@ -1,15 +0,0 @@
1
-
2
- #!/bin/bash
3
- # set -e # Exit immediately if a command exits with a non-zero status.
4
-
5
- JOB_NAME="outpatient_mapping"
6
- REPO_ROOT="$HOME/code/work/winter_planning/"
7
- CONTEXT_PATH="$REPO_ROOT/data/outpatient_mapping/op_services.csv"
8
- PROMPT_PATH="$REPO_ROOT/data/outpatient_mapping/prompt"
9
- AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
10
- agents create --agents crush --host docker --model x-ai/grok-4-fast:free --provider openrouter --context-path $CONTEXT_PATH --prompt-path $PROMPT_PATH --job-name $JOB_NAME --agents-dir $AGENTS_DIR
11
- sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
12
- sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
13
-
14
-
15
- # agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"