machineconfig 5.69__py3-none-any.whl → 5.71__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.

Potentially problematic release.


This version of machineconfig might be problematic. Click here for more details.

Files changed (24) hide show
  1. machineconfig/scripts/python/agents.py +26 -25
  2. machineconfig/scripts/python/croshell.py +1 -1
  3. machineconfig/scripts/python/devops_helpers/cli_config.py +6 -6
  4. machineconfig/scripts/python/devops_helpers/cli_self.py +13 -13
  5. machineconfig/scripts/python/entry.py +5 -5
  6. machineconfig/scripts/python/helper_navigator/main_app.py +10 -0
  7. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +2 -2
  8. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py +2 -2
  9. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +2 -2
  10. machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +2 -2
  11. machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py +2 -2
  12. machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py +2 -2
  13. machineconfig/scripts/python/interactive.py +2 -2
  14. machineconfig/scripts/python/nw/mount_nfs +1 -1
  15. machineconfig/scripts/python/repos_helpers/count_lines_frontend.py +1 -1
  16. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  17. machineconfig/setup_linux/web_shortcuts/interactive.sh +7 -7
  18. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +7 -7
  19. machineconfig/utils/ssh.py +1 -1
  20. {machineconfig-5.69.dist-info → machineconfig-5.71.dist-info}/METADATA +1 -1
  21. {machineconfig-5.69.dist-info → machineconfig-5.71.dist-info}/RECORD +24 -24
  22. {machineconfig-5.69.dist-info → machineconfig-5.71.dist-info}/WHEEL +0 -0
  23. {machineconfig-5.69.dist-info → machineconfig-5.71.dist-info}/entry_points.txt +0 -0
  24. {machineconfig-5.69.dist-info → machineconfig-5.71.dist-info}/top_level.txt +0 -0
@@ -5,21 +5,21 @@
5
5
  from pathlib import Path
6
6
  from typing import cast, Optional, get_args
7
7
  import typer
8
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import AGENTS, MATCHINE, MODEL, PROVIDER
8
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import AGENTS, HOST, MODEL, PROVIDER
9
9
 
10
10
 
11
11
  def create(
12
12
  agent: AGENTS = typer.Option(..., "--agents", "-a", help=f"Agent type. One of {', '.join(get_args(AGENTS)[:3])}"),
13
- machine: MATCHINE = typer.Option(..., "--machine", "-m", help=f"Machine to run agents on. One of {', '.join(get_args(MATCHINE))}"),
14
- model: MODEL = typer.Option(..., "--model", "-M", help=f"Model to use (for crush agent). One of {', '.join(get_args(MODEL)[:3])}"),
13
+ host: HOST = typer.Option(..., "--host", "-h", help=f"Machine to run agents on. One of {', '.join(get_args(HOST))}"),
14
+ model: MODEL = typer.Option(..., "--model", "-m", help=f"Model to use (for crush agent). One of {', '.join(get_args(MODEL)[:3])}"),
15
15
  provider: PROVIDER = typer.Option(..., "--provider", "-p", help=f"Provider to use (for crush agent). One of {', '.join(get_args(PROVIDER)[:3])}"),
16
16
  context_path: Optional[Path] = typer.Option(None, "--context-path", "-c", help="Path to the context file/folder, defaults to .ai/todo/"),
17
17
  separator: str = typer.Option("\n", "--separator", "-s", help="Separator for context"),
18
18
  agent_load: int = typer.Option(13, "--agent-load", "-al", help="Number of tasks per prompt"),
19
- prompt: Optional[str] = typer.Option(None, "--prompt", "-p", help="Prompt prefix as string"),
19
+ prompt: Optional[str] = typer.Option(None, "--prompt", "-P", help="Prompt prefix as string"),
20
20
  prompt_path: Optional[Path] = typer.Option(None, "--prompt-path", "-pp", help="Path to prompt file"),
21
21
  job_name: str = typer.Option("AI_Agents", "--job-name", "-j", help="Job name"),
22
- separate: bool = typer.Option(True, "--separate", "-sep", help="Keep prompt material in separate file to the context."),
22
+ separate: bool = typer.Option(True, "--separate", "-S", help="Keep prompt material in separate file to the context."),
23
23
  output_path: Optional[Path] = typer.Option(None, "--output-path", "-o", help="Path to write the layout.json file"),
24
24
  agents_dir: Optional[Path] = typer.Option(None, "--agents-dir", "-ad", help="Directory to store agent files. If not provided, will be constructed automatically."),
25
25
  ):
@@ -71,7 +71,7 @@ def create(
71
71
  shutil.rmtree(agents_dir)
72
72
  prep_agent_launch(repo_root=repo_root, agents_dir=agents_dir, prompts_material=prompt_material_re_splitted,
73
73
  keep_material_in_separate_file=separate,
74
- prompt_prefix=prompt_prefix, machine=machine, agent=agent_selected, model=model, provider=provider,
74
+ prompt_prefix=prompt_prefix, machine=host, agent=agent_selected, model=model, provider=provider,
75
75
  job_name=job_name)
76
76
  layoutfile = get_agents_launch_layout(session_root=agents_dir)
77
77
  regenerate_py_code = f"""
@@ -79,7 +79,7 @@ def create(
79
79
  agents create "{context_path_resolved}" \\
80
80
  --prompt-path "{prompt_path or ''}" \\
81
81
  --agent "{agent_selected}" \\
82
- --machine "{machine}" \\
82
+ --host "{host}" \\
83
83
  --job-name "{job_name}" \\
84
84
  --agent_load {agent_load} \\
85
85
  --separator "{separator}" \\
@@ -94,15 +94,15 @@ agents create "{context_path_resolved}" \\
94
94
 
95
95
 
96
96
  def collect(
97
- agent_dir: Path = typer.Argument(..., help="Path to the agent directory containing the prompts folder"),
98
- output_path: Path = typer.Argument(..., help="Path to write the concatenated material files"),
97
+ agent_dir: str = typer.Argument(..., help="Path to the agent directory containing the prompts folder"),
98
+ output_path: str = typer.Argument(..., help="Path to write the concatenated material files"),
99
99
  separator: str = typer.Option("\n", help="Separator to use when concatenating material files"),
100
100
  ) -> None:
101
101
  """Collect all material files from an agent directory and concatenate them."""
102
- if not agent_dir.exists() or not agent_dir.is_dir():
102
+ if not Path(agent_dir).exists() or not Path(agent_dir).is_dir():
103
103
  raise typer.BadParameter(f"Agent directory does not exist or is not a directory: {agent_dir}")
104
104
 
105
- prompts_dir = agent_dir / "prompts"
105
+ prompts_dir = Path(agent_dir) / "prompts"
106
106
  if not prompts_dir.exists():
107
107
  raise typer.BadParameter(f"Prompts directory not found: {prompts_dir}")
108
108
 
@@ -129,8 +129,8 @@ def collect(
129
129
  result = separator.join(concatenated_content)
130
130
 
131
131
  # Write to output file
132
- output_path.parent.mkdir(parents=True, exist_ok=True)
133
- output_path.write_text(result, encoding="utf-8")
132
+ Path(output_path).parent.mkdir(parents=True, exist_ok=True)
133
+ Path(output_path).write_text(result, encoding="utf-8")
134
134
  typer.echo(f"Concatenated material written to {output_path}")
135
135
 
136
136
 
@@ -163,7 +163,7 @@ def get_app():
163
163
  agents_app = typer.Typer(help="🤖 AI Agents management subcommands", no_args_is_help=True)
164
164
  sep = "\n"
165
165
  agents_full_help = f"""
166
- [cr] Create agents layout file, ready to run.
166
+ [c] Create agents layout file, ready to run.
167
167
  {sep}
168
168
  PROVIDER options: {', '.join(get_args(PROVIDER))}
169
169
  {sep}
@@ -172,19 +172,19 @@ AGENT options: {', '.join(get_args(AGENTS))}
172
172
  MODEL options: {sep.join(get_args(MODEL))}
173
173
  """
174
174
  agents_app.command("create", no_args_is_help=True, help=agents_full_help)(create)
175
- agents_app.command("cr", no_args_is_help=True, help="Create agents layout file, ready to run.", hidden=True)(create)
176
- agents_app.command("collect", no_args_is_help=True, help="[cl] Collect all agent materials into a single file.")(collect)
177
- agents_app.command("c", no_args_is_help=True, help="Collect all agent materials into a single file.", hidden=True)(collect)
178
- agents_app.command("make-template", no_args_is_help=False, help="[mt] Create a template for fire agents")(template)
179
- agents_app.command("mt", no_args_is_help=False, help="Create a template for fire agents", hidden=True)(template)
180
- agents_app.command("make-config", no_args_is_help=False, help="[mc] Initialize AI configurations in the current repository")(init_config)
181
- agents_app.command("mc", no_args_is_help=False, help="Initialize AI configurations in the current repository", hidden=True)(init_config)
175
+ agents_app.command("c", no_args_is_help=True, help="Create agents layout file, ready to run.", hidden=True)(create)
176
+ agents_app.command("collect", no_args_is_help=True, help="[T] Collect all agent materials into a single file.")(collect)
177
+ agents_app.command("T", no_args_is_help=True, help="Collect all agent materials into a single file.", hidden=True)(collect)
178
+ agents_app.command("make-template", no_args_is_help=False, help="[t] Create a template for fire agents")(template)
179
+ agents_app.command("t", no_args_is_help=False, help="Create a template for fire agents", hidden=True)(template)
180
+ agents_app.command("make-config", no_args_is_help=False, help="[g] Initialize AI configurations in the current repository")(init_config)
181
+ agents_app.command("g", no_args_is_help=False, help="Initialize AI configurations in the current repository", hidden=True)(init_config)
182
182
  from machineconfig.scripts.python.ai.generate_files import main
183
- agents_app.command("make-todo", no_args_is_help=True, help="[mt] Generate a markdown file listing all Python files in the repo")(main)
184
- agents_app.command("mt", no_args_is_help=True, help="Generate a markdown file listing all Python files in the repo", hidden=True)(main)
183
+ agents_app.command("make-todo", no_args_is_help=True, help="[d] Generate a markdown file listing all Python files in the repo")(main)
184
+ agents_app.command("d", no_args_is_help=True, help="Generate a markdown file listing all Python files in the repo", hidden=True)(main)
185
185
  from machineconfig.scripts.python.ai.generate_files import create_symlink_command
186
- agents_app.command(name="make-symlinks", no_args_is_help=True, help="[ms] Create symlinks to the current repo in ~/code_copies/")(create_symlink_command)
187
- agents_app.command(name="ms", no_args_is_help=True, help="Create symlinks to the current repo in ~/code_copies/", hidden=True)(create_symlink_command)
186
+ agents_app.command(name="make-symlinks", no_args_is_help=True, help="[s] Create symlinks to the current repo in ~/code_copies/")(create_symlink_command)
187
+ agents_app.command(name="s", no_args_is_help=True, help="Create symlinks to the current repo in ~/code_copies/", hidden=True)(create_symlink_command)
188
188
  return agents_app
189
189
 
190
190
 
@@ -192,5 +192,6 @@ def main():
192
192
  agents_app = get_app()
193
193
  agents_app()
194
194
 
195
+
195
196
  if __name__ == "__main__": # pragma: no cover
196
197
  pass
@@ -150,7 +150,7 @@ from pathlib import Path
150
150
  else:
151
151
  console.print(Panel("❌ Could not determine the local machineconfig repo root. Please ensure the `REPO_ROOT` in `source_of_truth.py` is correctly set to the local path of the machineconfig repo, or do not use the `--local` flag.", title="Error", border_style="red"))
152
152
  return
153
- else: ve_line = "--with machineconfig[plot]>=5.67"
153
+ else: ve_line = """--with "machineconfig[plot]>=5.71" """
154
154
  fire_line = f"uv run --python 3.14 {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
155
155
 
156
156
  from machineconfig.utils.code import run_shell_script
@@ -42,7 +42,7 @@ def path():
42
42
  from pathlib import Path
43
43
  path = Path(navigator.__file__).resolve().parent.joinpath("path_manager_tui.py")
44
44
  from machineconfig.utils.code import run_shell_script
45
- run_shell_script(f"uv run --with machineconfig>=5.67,textual {path}")
45
+ run_shell_script(f"""uv run --with "machineconfig>=5.71,textual" {path}""")
46
46
 
47
47
  def pwsh_theme():
48
48
  """🔗 Select powershell prompt theme."""
@@ -70,11 +70,11 @@ def get_app():
70
70
  config_apps.command("u", no_args_is_help=True, help="Manage public configuration files.", hidden=True)(public)
71
71
  config_apps.command("dotfile", no_args_is_help=True, help="🔗 [d] Manage dotfiles.")(dotfile)
72
72
  config_apps.command("d", no_args_is_help=True, help="Manage dotfiles.", hidden=True)(dotfile)
73
- config_apps.command("shell", no_args_is_help=True, help="🔗 [s] Configure your shell profile.")(shell)
74
- config_apps.command("s", no_args_is_help=True, help="Configure your shell profile.", hidden=True)(shell)
75
- config_apps.command("path", no_args_is_help=True, help="📚 [a] NAVIGATE PATH variable with TUI")(path)
76
- config_apps.command("a", no_args_is_help=True, help="NAVIGATE PATH variable with TUI", hidden=True)(path)
77
- config_apps.command("pwsh-theme", no_args_is_help=True, help="🔗 [t] Select powershell prompt theme.")(pwsh_theme)
73
+ config_apps.command("shell", no_args_is_help=False, help="🔗 [s] Configure your shell profile.")(shell)
74
+ config_apps.command("s", no_args_is_help=False, help="Configure your shell profile.", hidden=True)(shell)
75
+ config_apps.command("path", no_args_is_help=False, help="📚 [a] NAVIGATE PATH variable with TUI")(path)
76
+ config_apps.command("a", no_args_is_help=False, help="NAVIGATE PATH variable with TUI", hidden=True)(path)
77
+ config_apps.command("pwsh-theme", no_args_is_help=False, help="🔗 [t] Select powershell prompt theme.")(pwsh_theme)
78
78
  config_apps.command("t", no_args_is_help=True, help="Select powershell prompt theme.", hidden=True)(pwsh_theme)
79
79
  config_apps.command("copy-assets", no_args_is_help=True, help="🔗 [c] Copy asset files from library to machine.")
80
80
  config_apps.command("c", no_args_is_help=True, help="Copy asset files from library to machine.", hidden=True)(copy_assets)
@@ -25,9 +25,9 @@ def install():
25
25
  # main_public_from_parser()
26
26
  import platform
27
27
  if platform.system() == "Windows":
28
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig>=5.67""")
28
+ run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig>=5.71""")
29
29
  else:
30
- run_shell_script("""$HOME/.local/bin/uv tool install machineconfig>=5.67""")
30
+ run_shell_script("""$HOME/.local/bin/uv tool install machineconfig>=5.71""")
31
31
 
32
32
  def navigate():
33
33
  """📚 NAVIGATE command structure with TUI"""
@@ -35,7 +35,7 @@ def navigate():
35
35
  from pathlib import Path
36
36
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
37
37
  from machineconfig.utils.code import run_shell_script
38
- run_shell_script(f"uv run --with machineconfig>=5.67,textual {path}")
38
+ run_shell_script(f"""uv run --with "machineconfig>=5.71,textual" {path}""")
39
39
 
40
40
 
41
41
  def run_python(ip: str = typer.Argument(..., help="Python command to run in the machineconfig environment"),
@@ -51,16 +51,16 @@ def run_python(ip: str = typer.Argument(..., help="Python command to run in the
51
51
 
52
52
  def get_app():
53
53
  cli_app = typer.Typer(help="🔄 [s] self operations subcommands", no_args_is_help=True)
54
- cli_app.command("update", no_args_is_help=True, help="🔄 [u] UPDATE essential repos")(update)
55
- cli_app.command("u", no_args_is_help=True, help="UPDATE essential repos", hidden=True)(update)
56
- cli_app.command("interactive", no_args_is_help=True, help="🤖 [ia] INTERACTIVE configuration of machine.")(interactive)
57
- cli_app.command("ia", no_args_is_help=True, help="INTERACTIVE configuration of machine.", hidden=True)(interactive)
58
- cli_app.command("status", no_args_is_help=True, help="📊 [s] STATUS of machine, shell profile, apps, symlinks, dotfiles, etc.")(status)
59
- cli_app.command("s", no_args_is_help=True, help="STATUS of machine, shell profile, apps, symlinks, dotfiles, etc.", hidden=True)(status)
60
- cli_app.command("install", no_args_is_help=True, help="📋 [i] CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates.")(install)
61
- cli_app.command("i", no_args_is_help=True, help="CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates.", hidden=True)(install)
62
- cli_app.command("navigate", no_args_is_help=True, help="📚 [n] NAVIGATE command structure with TUI")(navigate)
63
- cli_app.command("n", no_args_is_help=True, help="NAVIGATE command structure with TUI", hidden=True)(navigate)
54
+ cli_app.command("update", no_args_is_help=False, help="🔄 [u] UPDATE essential repos")(update)
55
+ cli_app.command("u", no_args_is_help=False, help="UPDATE essential repos", hidden=True)(update)
56
+ cli_app.command("interactive", no_args_is_help=False, help="🤖 [ia] INTERACTIVE configuration of machine.")(interactive)
57
+ cli_app.command("ia", no_args_is_help=False, help="INTERACTIVE configuration of machine.", hidden=True)(interactive)
58
+ cli_app.command("status", no_args_is_help=False, help="📊 [s] STATUS of machine, shell profile, apps, symlinks, dotfiles, etc.")(status)
59
+ cli_app.command("s", no_args_is_help=False, help="STATUS of machine, shell profile, apps, symlinks, dotfiles, etc.", hidden=True)(status)
60
+ cli_app.command("install", no_args_is_help=False, help="📋 [i] CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates.")(install)
61
+ cli_app.command("i", no_args_is_help=False, help="CLONE machienconfig locally and incorporate to shell profile for faster execution and nightly updates.", hidden=True)(install)
62
+ cli_app.command("navigate", no_args_is_help=False, help="📚 [n] NAVIGATE command structure with TUI")(navigate)
63
+ cli_app.command("n", no_args_is_help=False, help="NAVIGATE command structure with TUI", hidden=True)(navigate)
64
64
  cli_app.command("python", no_args_is_help=False, help="🐍 [c] python command/file in the machineconfig environment")(run_python)
65
65
  cli_app.command("c", no_args_is_help=False, help="RUN python command/file in the machineconfig environment", hidden=True)(run_python)
66
66
  return cli_app
@@ -12,11 +12,11 @@ from machineconfig.scripts.python.croshell import croshell as croshell_func
12
12
  def get_app():
13
13
  import typer
14
14
  app = typer.Typer(help="MachineConfig CLI - Manage your machine configurations and workflows", no_args_is_help=True)
15
- app.add_typer(get_devops_app(), name="devops", help="DevOps related commands")
16
- app.add_typer(get_cloud_app(), name="cloud", help="Cloud management commands")
17
- app.add_typer(get_sessions_app(), name="sessions", help="Session and layout management")
18
- app.add_typer(get_fire_jobs_app(), name="fire", help="Fire and manage jobs")
19
- app.add_typer(get_agents_app(), name="agents", help="🤖 AI Agents management commands")
15
+ app.add_typer(get_devops_app(), name="devops", help="DevOps related commands", no_args_is_help=True)
16
+ app.add_typer(get_cloud_app(), name="cloud", help="Cloud management commands", no_args_is_help=True)
17
+ app.add_typer(get_sessions_app(), name="sessions", help="Session and layout management", no_args_is_help=True)
18
+ app.add_typer(get_fire_jobs_app(), name="fire", help="Fire and manage jobs", no_args_is_help=True)
19
+ app.add_typer(get_agents_app(), name="agents", help="🤖 AI Agents management commands", no_args_is_help=True)
20
20
 
21
21
  app.command("ftpx", no_args_is_help=True, help="File transfer utility though SSH")(ftpx_func)
22
22
  app.command("croshell", no_args_is_help=False, help="Cross-shell command execution")(croshell_func)
@@ -21,12 +21,16 @@ class CommandNavigatorApp(App[None]):
21
21
  layout: grid;
22
22
  grid-size: 2 3;
23
23
  grid-rows: auto 1fr auto;
24
+ grid-columns: 1fr 1fr;
25
+ height: 100%;
26
+ width: 100%;
24
27
  }
25
28
 
26
29
  Header {
27
30
  column-span: 2;
28
31
  background: $boost;
29
32
  color: $text;
33
+ width: 100%;
30
34
  }
31
35
 
32
36
  #search-bar {
@@ -34,6 +38,7 @@ class CommandNavigatorApp(App[None]):
34
38
  padding: 1;
35
39
  background: $surface;
36
40
  height: auto;
41
+ width: 100%;
37
42
  }
38
43
 
39
44
  .search-label {
@@ -49,17 +54,22 @@ class CommandNavigatorApp(App[None]):
49
54
  row-span: 1;
50
55
  border: solid $primary;
51
56
  padding: 1;
57
+ width: 100%;
58
+ height: 100%;
52
59
  }
53
60
 
54
61
  #command-detail {
55
62
  row-span: 1;
56
63
  border: solid $primary;
57
64
  padding: 1;
65
+ width: 100%;
66
+ height: 100%;
58
67
  }
59
68
 
60
69
  Footer {
61
70
  column-span: 2;
62
71
  background: $boost;
72
+ width: 100%;
63
73
  }
64
74
 
65
75
  Button {
@@ -2,10 +2,10 @@
2
2
  from pathlib import Path
3
3
  # import shlex
4
4
  from typing import Optional
5
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import MATCHINE, PROVIDER, MODEL
5
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST, PROVIDER, MODEL
6
6
 
7
7
 
8
- def fire_crush(api_key: Optional[str], model: MODEL, provider: PROVIDER, machine: MATCHINE, prompt_path: Path, repo_root: Path) -> str:
8
+ def fire_crush(api_key: Optional[str], model: MODEL, provider: PROVIDER, machine: HOST, prompt_path: Path, repo_root: Path) -> str:
9
9
  match machine:
10
10
  case "local":
11
11
  cmd = f"""
@@ -2,10 +2,10 @@
2
2
 
3
3
  from pathlib import Path
4
4
  # import shlex
5
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import MATCHINE
5
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
6
6
  from typing import Optional
7
7
 
8
- def fire_cursor(api_key: Optional[str], prompt_path: Path, machine: MATCHINE) -> str:
8
+ def fire_cursor(api_key: Optional[str], prompt_path: Path, machine: HOST) -> str:
9
9
  match machine:
10
10
  case "local":
11
11
  # Export the environment variable so it's available to subshells
@@ -1,11 +1,11 @@
1
1
 
2
2
  from pathlib import Path
3
3
  import shlex
4
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import MATCHINE
4
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
5
5
  from typing import Optional, Literal
6
6
 
7
7
 
8
- def fire_gemini(api_key: Optional[str], model: Literal["gemini-2.5-pro"], provider: Literal["google"], machine: MATCHINE, prompt_path: Path, repo_root: Path) -> str:
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
9
  _ = provider
10
10
  # model = "gemini-2.5-flash-lite"
11
11
  # model = None # auto-select
@@ -1,11 +1,11 @@
1
1
 
2
2
  from pathlib import Path
3
3
  import shlex
4
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import MATCHINE
4
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
5
5
  from typing import Optional, Literal
6
6
 
7
7
 
8
- def fire_qwen(config_dir: Optional[str], model: Literal["qwen"], provider: Literal["qwen"], machine: MATCHINE, prompt_path: Path, repo_root: Path) -> str:
8
+ def fire_qwen(config_dir: Optional[str], model: Literal["qwen"], provider: Literal["qwen"], machine: HOST, prompt_path: Path, repo_root: Path) -> str:
9
9
  # assert model == "qwen", "Only qwen is supported currently."
10
10
  # assert provider == "qwen", "Only qwen is supported currently."
11
11
  # model = "qwen"
@@ -2,7 +2,7 @@
2
2
  import random
3
3
  import shlex
4
4
  from pathlib import Path
5
- from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import AGENTS, AGENT_NAME_FORMATTER, MATCHINE, PROVIDER, MODEL
5
+ from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import AGENTS, AGENT_NAME_FORMATTER, HOST, PROVIDER, MODEL
6
6
 
7
7
 
8
8
  def get_api_keys(provider: PROVIDER) -> list[str]:
@@ -20,7 +20,7 @@ def get_api_keys(provider: PROVIDER) -> list[str]:
20
20
 
21
21
 
22
22
  def prep_agent_launch(repo_root: Path, agents_dir: Path, prompts_material: list[str], prompt_prefix: str, keep_material_in_separate_file: bool,
23
- machine: MATCHINE, model: MODEL, provider: PROVIDER, agent: AGENTS, *, job_name: str) -> None:
23
+ machine: HOST, model: MODEL, provider: PROVIDER, agent: AGENTS, *, job_name: str) -> None:
24
24
  agents_dir.mkdir(parents=True, exist_ok=True)
25
25
  prompt_folder = agents_dir / "prompts"
26
26
  prompt_folder.mkdir(parents=True, exist_ok=True)
@@ -3,7 +3,7 @@ from typing import Literal, TypeAlias, TypedDict
3
3
 
4
4
 
5
5
  AGENTS: TypeAlias = Literal["cursor-agent", "gemini", "crush", "q", "opencode"]
6
- MATCHINE: TypeAlias = Literal["local", "docker"]
6
+ HOST: TypeAlias = Literal["local", "docker"]
7
7
  PROVIDER: TypeAlias = Literal["azure", "google", "aws", "openai", "anthropic", "openrouter", "xai"]
8
8
  MODEL: TypeAlias = Literal["zai/glm-4.6", "anthropic/sonnet-4.5", "google/gemini-2.5-pro", "openai/gpt-5-codex",
9
9
  "openrouter/supernova", "x-ai/grok-4-fast:free",
@@ -22,7 +22,7 @@ class AI_SPEC(TypedDict):
22
22
  provider: PROVIDER
23
23
  model: MODEL
24
24
  agent: AGENTS
25
- machine: MATCHINE
25
+ machine: HOST
26
26
 
27
27
 
28
28
  AGENT_NAME_FORMATTER = "agent_{idx}_cmd.sh" # e.g., agent_0_cmd.sh
@@ -130,9 +130,9 @@ def execute_installations(selected_options: list[str]) -> None:
130
130
  console.print(Panel("🐍 [bold green]PYTHON ENVIRONMENT[/bold green]\n[italic]Virtual environment setup[/italic]", border_style="green"))
131
131
  import platform
132
132
  if platform.system() == "Windows":
133
- run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig>=5.67""")
133
+ run_shell_script(r"""$HOME\.local\bin\uv.exe tool install machineconfig>=5.71""")
134
134
  else:
135
- run_shell_script("""$HOME/.local/bin/uv tool install machineconfig>=5.67""")
135
+ run_shell_script("""$HOME/.local/bin/uv tool install machineconfig>=5.71""")
136
136
  if "install_ssh_server" in selected_options:
137
137
  console.print(Panel("🔒 [bold red]SSH SERVER[/bold red]\n[italic]Remote access setup[/italic]", border_style="red"))
138
138
  import platform
@@ -5,7 +5,7 @@
5
5
  # mkdir ~/data/local
6
6
  # sudo mount -o nolock,noatime,nodiratime,proto=tcp,timeo=600,retrans=2,noac alex-p51s-5:/home/alex/data/local ./data/local
7
7
 
8
- uv run --python 3.14 --with machineconfig>=5.67python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=5.71" python -m machineconfig.scripts.python.mount_nfs
9
9
  # Check if remote server is reachable and share folder exists
10
10
  if ! ping -c 1 "$remote_server" &> /dev/null; then
11
11
  echo "💥 Error: Remote server $remote_server is not reachable."
@@ -7,7 +7,7 @@ def analyze_repo_development(repo_path: str = typer.Argument(..., help="Path to
7
7
  from pathlib import Path
8
8
  count_lines_path = Path(count_lines.__file__)
9
9
  # --project $HOME/code/ machineconfig --group plot
10
- cmd = f"""uv run --python 3.14 --with machineconfig[plot]>=5.67 {count_lines_path} analyze-over-time {repo_path}"""
10
+ cmd = f"""uv run --python 3.14 --with "machineconfig[plot]>=5.71" {count_lines_path} analyze-over-time {repo_path}"""
11
11
  from machineconfig.utils.code import run_shell_script
12
12
  run_shell_script(cmd)
13
13
 
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with machineconfig>=5.67python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=5.71" python -m machineconfig.scripts.python.mount_ssh
11
11
 
12
12
  net use T: \\sshfs.kr\$user@$host.local
13
13
  # this worked: net use T: \\sshfs\alex@alex-p51s-5.local
@@ -1,25 +1,25 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  devops() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67 devops "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" devops "$@"
5
5
  }
6
6
  agents() {
7
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67 agents "$@"
7
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" agents "$@"
8
8
  }
9
9
  cloud() {
10
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67 cloud "$@"
10
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" cloud "$@"
11
11
  }
12
12
  croshell() {
13
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67 croshell "$@"
13
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" croshell "$@"
14
14
  }
15
15
  fire() {
16
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67fire "$@"
16
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" fire "$@"
17
17
  }
18
18
  ftpx() {
19
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67ftpx "$@"
19
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" ftpx "$@"
20
20
  }
21
21
  sessions() {
22
- "$HOME/.local/bin/uv" run --python 3.14 --with machineconfig>=5.67sessions "$@"
22
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=5.71" sessions "$@"
23
23
  }
24
24
 
25
25
  echo "devops command is now defined in this shell session."
@@ -2,30 +2,30 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function devops {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 devops $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" devops $args
6
6
  }
7
7
 
8
8
  function cloud {
9
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 cloud $args
9
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" cloud $args
10
10
  }
11
11
 
12
12
  function croshell {
13
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 croshell $args
13
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" croshell $args
14
14
  }
15
15
 
16
16
  function agents {
17
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 agents $args
17
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" agents $args
18
18
  }
19
19
 
20
20
  function fire {
21
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 fire $args
21
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" fire $args
22
22
  }
23
23
 
24
24
  function ftpx {
25
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 ftpx $args
25
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" ftpx $args
26
26
  }
27
27
 
28
28
  function sessions {
29
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with machineconfig>=5.67 sessions $args
29
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=5.71" sessions $args
30
30
  }
31
31
 
@@ -6,7 +6,7 @@ from machineconfig.utils.terminal import Response, MACHINE
6
6
  from machineconfig.utils.accessories import pprint
7
7
 
8
8
  UV_RUN_CMD = "$HOME/.local/bin/uv run"
9
- MACHINECONFIG_VERSION = "machineconfig>=5.67"
9
+ MACHINECONFIG_VERSION = """ "machineconfig>=5.71" """
10
10
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
11
11
 
12
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 5.69
3
+ Version: 5.71
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -120,15 +120,15 @@ machineconfig/scripts/linux/other/share_smb,sha256=HZX8BKgMlS9JzkGIYnxTsPvoxEBBu
120
120
  machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
121
121
  machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP96DTp77KHk2tU8,613
122
122
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- machineconfig/scripts/python/agents.py,sha256=7freF44gD_IgQby3JuDJ1eZdtztgo727pYzcN6cL8v8,10350
123
+ machineconfig/scripts/python/agents.py,sha256=PNjpI8ve_CP8Y091lWy5YbpI89ApOW1g47bnqXAMDFg,10339
124
124
  machineconfig/scripts/python/cloud.py,sha256=_05zIiBzG4fKhFytg9mjvMBv4qMUtQJL0RtpYUJFZ3Y,920
125
- machineconfig/scripts/python/croshell.py,sha256=UUL13_FZuu3nN804oPPpsqArulENdN974_wUmOyCADc,7186
125
+ machineconfig/scripts/python/croshell.py,sha256=lTPw3UhXDr-fumi4s2FvvOW21XcAOKlJg2m4sa8Mz_o,7193
126
126
  machineconfig/scripts/python/devops.py,sha256=f9Tc2EQNO1sImE1J6Vp4HlvPozMlgbtO1t84l8knr40,2050
127
127
  machineconfig/scripts/python/devops_navigator.py,sha256=4O9_-ACeP748NcMjWQXZF7mBQpMPxqCGhLvPG3DMi4Q,236
128
- machineconfig/scripts/python/entry.py,sha256=hBqrwVDgUH-tISrscELh_FwVN576W1sb-RBO4ZVWRqU,1371
128
+ machineconfig/scripts/python/entry.py,sha256=0D6xAXpB5aNZ_fyKKr3oXVuiRgZqHUUkbTCHJnq0SLM,1481
129
129
  machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
130
130
  machineconfig/scripts/python/ftpx.py,sha256=UBDP6IIfWkaML1uZT1FrfGUUy_Of5LI82IdqEzo05_U,9760
131
- machineconfig/scripts/python/interactive.py,sha256=n7FoIicEB3O9GNK1VOPvVILWPoWnXdbQsMQ1rBIKuGE,11790
131
+ machineconfig/scripts/python/interactive.py,sha256=v_2S-uZck0LcyfWp3q54SA8ROh2xr_F1pFCTO0WtjLs,11790
132
132
  machineconfig/scripts/python/sessions.py,sha256=91eqV7SMemOZDuIQMqz36-AFbrpvPLbVdR6BZppY1xA,9559
133
133
  machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
134
  machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
@@ -171,12 +171,12 @@ machineconfig/scripts/python/croshell_helpers/start_slidev.py,sha256=HfJReOusTPh
171
171
  machineconfig/scripts/python/croshell_helpers/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
172
172
  machineconfig/scripts/python/croshell_helpers/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
173
173
  machineconfig/scripts/python/devops_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
- machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=dDHb4W4PqKvzq0D4-wGnljkBarkcmWZ-lCY6-BSpyCQ,5322
174
+ machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=GE5Z35he2wemMHgsIxvT2lqLsxaoBygGTj5qzzFf7rE,5333
175
175
  machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
176
176
  machineconfig/scripts/python/devops_helpers/cli_data.py,sha256=kvJ7g2CccjjXIhCwdu_Vlif8JHC0qUoLjuGcTSqT-IU,514
177
177
  machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=U-W6ox-7ctGqQcjFWsDwZKmqQdl1etz9CMOes-B0Wgc,2959
178
178
  machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=IgyntAJ-qIEnaet3bnhhRg6SI519FgGWDBoQ6mLE7ZQ,12016
179
- machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=u8PNHLMOZjN9WNb061DTjMI9vQoFVq4djNVFNW--_Fc,3774
179
+ machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=p0PckQwaYrsC5BzQgJXiceQzKqDmVOY6BYti60ka2H4,3790
180
180
  machineconfig/scripts/python/devops_helpers/cli_share_server.py,sha256=285OzxttCx7YsrpOkaapMKP1eVGHmG5TkkaSQnY7i3c,3976
181
181
  machineconfig/scripts/python/devops_helpers/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
182
182
  machineconfig/scripts/python/devops_helpers/devops_add_identity.py,sha256=wvjNgqsLmqD2SxbNCW_usqfp0LI-TDvcJJKGOWt2oFw,3775
@@ -195,12 +195,12 @@ machineconfig/scripts/python/helper_navigator/command_builder.py,sha256=tMIonhYP
195
195
  machineconfig/scripts/python/helper_navigator/command_detail.py,sha256=i4MdiCOVaXdRmLqr4K-F1Mk1u93bl5heIN97cRPCnzg,1692
196
196
  machineconfig/scripts/python/helper_navigator/command_tree.py,sha256=EcyQmQJNW5HA1Zq_wwl6-uWwyrP1vd0hOWyDQny79Tc,19501
197
197
  machineconfig/scripts/python/helper_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
198
- machineconfig/scripts/python/helper_navigator/main_app.py,sha256=SCH2o7B-7clIMf9wTDs7yHtayPDqxP9atOQ0v6uaQr8,8621
198
+ machineconfig/scripts/python/helper_navigator/main_app.py,sha256=HhBttfk0bdQfWD9lC8yyoYDKBMzxkpw7NKE0IS7JUFE,8844
199
199
  machineconfig/scripts/python/helper_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
200
200
  machineconfig/scripts/python/helpers_fire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
- machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=vgJMzSyLRTik2lnKYZsNzwoAF-z8Tp1aVi4wMvIJzPs,5627
201
+ machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=GBhi9WvmQDwJOcF3sjvge5x5U7TUokcVo4K4CbEm-OI,5619
202
202
  machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
203
- machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=b3_EaG_rGuRxTuVmKZVbY-tawsfrNP3tvPNaNgZ9ohs,1069
203
+ machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=TUzFEPySE3IeOIWX99a6baD82MtJFIRl-lIUSIfwaOw,1061
204
204
  machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
205
205
  machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=iKR5vVJygaDIpFXhcdma9jOpyxKtUhmqcmalFxJmY0w,4749
206
206
  machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
@@ -208,10 +208,10 @@ machineconfig/scripts/python/helpers_fire/template.ps1,sha256=NWkYlM4_l9eT52lS9N
208
208
  machineconfig/scripts/python/helpers_fire/template.sh,sha256=ohK-hlH4IdUl827CacLmMLB8i5OgmY6q00ETd7bN9GQ,1172
209
209
  machineconfig/scripts/python/helpers_fire/agentic_frameworks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
210
  machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.json,sha256=YGuJF-qlMjhICPf0QnNfQlGNPsYrJJDlNcgmes0TFhM,252
211
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py,sha256=-yRdVcKX_1XTUzWKNoNW9rjmn_NsJuk1pB5EKC4TKpU,1622
212
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py,sha256=YYwZWa3yEbpIxUorL2Z1AOwrG9RqhtMQx5D4hsON_Vw,570
213
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py,sha256=a5aCq3H_i2oqKleGdoObyusks29oy9J7BZLZH-ZGbqo,1574
214
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py,sha256=73R0EPAstdw37BBOaHzzPibI4EK1euVXX-_wx9I61hc,1702
211
+ machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py,sha256=NRcnjVu4-_6UqWdeRH4A2g79QIAOwnqVtiqOwn7qzlE,1614
212
+ machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_cursor_agents.py,sha256=ujRHjh6yD6r-GrqNRQ_Yw29Lp94Dm5dIFLWxU2rFbaY,562
213
+ machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py,sha256=KYJhClOMnuTFOp7VtDQ5ZSOhZYCciOkYyM3T53bxCag,1566
214
+ machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py,sha256=uh0Blj_EHnUbLPqmqgc67HwaVuz5CllC3q2ILEtG7sU,1694
215
215
  machineconfig/scripts/python/helpers_fire_command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
216
  machineconfig/scripts/python/helpers_fire_command/cloud_manager.py,sha256=YN0DYLzPKtMBaks-EAVwFmkCu3XeHWMr1D21uqX5dDk,3429
217
217
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha256=UUrGB2N_pR7PxFKtKTJxIUiS58WjQX0U50y2ft8Ul4w,4334
@@ -223,7 +223,7 @@ machineconfig/scripts/python/helpers_repos/grource.py,sha256=IywQ1NDPcLXM5Tr9xhm
223
223
  machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=G_quiKOLNkWD5UG8ekexgh9xbpW4Od-J1pLJbLLWnpg,993
224
224
  machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
225
  machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
226
- machineconfig/scripts/python/nw/mount_nfs,sha256=qZY1MPfcyeXPFmwC0nkw8ZuJuInrEKz-cZ9eek_TaUE,1852
226
+ machineconfig/scripts/python/nw/mount_nfs,sha256=9UrqeY_qpog2mdXpw0a6qLkOwJislpqqSAMgn9u46Uk,1855
227
227
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
228
228
  machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
229
229
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
@@ -235,7 +235,7 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=1ab9l-8MtAxofW5nG
235
235
  machineconfig/scripts/python/repos_helpers/action.py,sha256=t6x9K43Uy7r5aRpdODfsN-5UoMrYXEG2cVw-Y8l9prw,14847
236
236
  machineconfig/scripts/python/repos_helpers/clone.py,sha256=9vGb9NCXT0lkerPzOJjmFfhU8LSzE-_1LDvjkhgnal0,5461
237
237
  machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=ZLEajCLmlFFY969BehabqGOB9_kkpATO3Lt09L7KULk,15968
238
- machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=v-0wPDxP8TCx31JUCM5z318_mBzMBlETkKepJe-Yv4k,566
238
+ machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=lspw1XbLHHmndrbqiTJp2n1PDDD-qGz93et_f_vZP9U,568
239
239
  machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=C-_D03abE0TkVCJ4jZoliUMAhRRkZ77mcwMoPOuieJQ,2827
240
240
  machineconfig/scripts/python/repos_helpers/record.py,sha256=3T5VmMbvywScZhTW2j4cGLK0T2LSWxKfnXkRTxkuLP4,10994
241
241
  machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
@@ -248,7 +248,7 @@ machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqk
248
248
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
249
249
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
250
250
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
251
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=11LWNiAKq91rIfVy2fIAPHmiWU_jreZPoLtWruarmR8,319
251
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=GHhZhUhLEzjMqud4hHBnHIbIRAo3L7LFTK7DN5J_QH0,322
252
252
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
253
253
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
254
254
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -363,7 +363,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
363
363
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
364
364
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
365
365
  machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
366
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=mSUl51ubEiTTfpBZOabZJs1ePa0Ivi0Y7c2_98b0RBI,863
366
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=bl-J0RkhkT_q-KkA2X9K7AYE1HM5X4ARJ-0XjTmEIDY,880
367
367
  machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
368
368
  machineconfig/setup_windows/apps.ps1,sha256=G5GqZ9G0aiQr_A-HaahtRdzpaTTdW6n3DRKMZWDTSPc,11214
369
369
  machineconfig/setup_windows/uv.ps1,sha256=mzkFJUQ57dukVQtY7WqAQIVUDMcixnkir8aNM_TYrl4,350
@@ -373,7 +373,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
373
373
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
374
374
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
375
375
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
376
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=Y-5kNrmHh4POwM9p1dB1GEMqdVSqb8T_NAdGqxFzgsU,905
376
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=qSyMu2dx3nTHBt6N1Tt7Mscqx8fPEWlz86y99ocZcNc,919
377
377
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
378
378
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
379
379
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -391,7 +391,7 @@ machineconfig/utils/procs.py,sha256=w75oGKfR7FpT1pGTGd2XscnEOO0IHBWxohLbi69hLqg,
391
391
  machineconfig/utils/scheduler.py,sha256=jZ_1yghqA3-aINPRmE_76gboqJc0UElroR7urNOfXKs,14940
392
392
  machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
393
393
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
394
- machineconfig/utils/ssh.py,sha256=U-OQ06ulWDK9Cur3RrQYERfvxO3cpfSB5bSV03Ymjj0,37556
394
+ machineconfig/utils/ssh.py,sha256=2ssLAz1w_AdhqVOwa2DzH621G9fK3qHT3qyJzCuUEHc,37564
395
395
  machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
396
396
  machineconfig/utils/upgrade_packages.py,sha256=H96zVJEWXJW07nh5vhjuSCrPtXGqoUb7xeJsFYYdmCI,3330
397
397
  machineconfig/utils/ve.py,sha256=L-6PBXnQGXThiwWgheJMQoisAZOZA6SVCbGw2J-GFnI,2414
@@ -415,8 +415,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
415
415
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
416
416
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
417
417
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
418
- machineconfig-5.69.dist-info/METADATA,sha256=kfDwJ01syfIn1NzuuejVXft0I94FB06FG-VCWUxQWxs,3103
419
- machineconfig-5.69.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
420
- machineconfig-5.69.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
421
- machineconfig-5.69.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
422
- machineconfig-5.69.dist-info/RECORD,,
418
+ machineconfig-5.71.dist-info/METADATA,sha256=i-BuaostGC5S8aXUGDW2ALKojtKhdnOORdqne2JiNYI,3103
419
+ machineconfig-5.71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
420
+ machineconfig-5.71.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
421
+ machineconfig-5.71.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
422
+ machineconfig-5.71.dist-info/RECORD,,