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

@@ -0,0 +1,14 @@
1
+
2
+
3
+
4
+ RANDOM_NAME=$(date +%s%N | sha256sum | head -c 16)
5
+ export OP_PROGRAM_PATH="$HOME/tmp_results/tmp_scripts/machineconfig/${RANDOM_NAME}.sh"
6
+
7
+ mcfg "$@"
8
+
9
+ if [[ -f "$OP_PROGRAM_PATH" ]]; then
10
+ echo "Found op program at: $OP_PROGRAM_PATH"
11
+ bash "$OP_PROGRAM_PATH"
12
+ else
13
+ echo "no op program found"
14
+ fi
@@ -158,8 +158,15 @@ code --new-window {str(pyfile)}
158
158
  # --python 3.14
159
159
  fire_line = f"uv run {ve_line} {interpreter} {interactivity} {profile} {str(pyfile)}"
160
160
 
161
- from machineconfig.utils.code import run_shell_script
162
- run_shell_script(fire_line, clean_env=False)
161
+ import os
162
+ program_path_maybe = os.environ.get("OP_PROGRAM_PATH", None)
163
+ if program_path_maybe is not None:
164
+ program_path_obj = PathExtended(program_path_maybe)
165
+ program_path_obj.parent.mkdir(parents=True, exist_ok=True)
166
+ program_path_obj.write_text(data=fire_line, encoding="utf-8")
167
+ else:
168
+ from machineconfig.utils.code import run_shell_script
169
+ run_shell_script(fire_line, clean_env=False)
163
170
 
164
171
 
165
172
  def main() -> None:
@@ -2,13 +2,12 @@
2
2
  from machineconfig.scripts.python.devops import get_app as get_devops_app
3
3
  from machineconfig.scripts.python.cloud import get_app as get_cloud_app
4
4
  from machineconfig.scripts.python.agents import get_app as get_agents_app
5
- from machineconfig.scripts.python.fire_jobs import get_app as get_fire_jobs_app
6
5
  from machineconfig.scripts.python.sessions import get_app as get_sessions_app
7
6
  from machineconfig.scripts.python.utils import get_app as get_utils_app
8
7
 
9
8
  from machineconfig.scripts.python.ftpx import ftpx as ftpx_func
10
9
  from machineconfig.scripts.python.croshell import croshell as croshell_func
11
-
10
+ from machineconfig.scripts.python.fire_jobs import fire as get_fire_jobs_app
12
11
 
13
12
  def get_app():
14
13
  import typer
@@ -25,14 +24,13 @@ def get_app():
25
24
  app.add_typer(sessions_app, name="sessions", help="[s] Session and layout management", no_args_is_help=True)
26
25
  app.add_typer(sessions_app, name="s", hidden=True) # short alias
27
26
 
28
- fire_jobs_app = get_fire_jobs_app()
29
- app.add_typer(fire_jobs_app, name="fire", help="[f] Fire and manage jobs", no_args_is_help=True)
30
- app.add_typer(fire_jobs_app, name="f", hidden=True) # short alias
31
27
 
32
28
  agents_app = get_agents_app()
33
29
  app.add_typer(agents_app, name="agents", help="[a] 🤖 AI Agents management commands", no_args_is_help=True)
34
30
  app.add_typer(agents_app, name="a", hidden=True) # short alias
35
31
 
32
+ app.command(name="fire", help="[f] Fire and manage jobs", no_args_is_help=False)(get_fire_jobs_app)
33
+ app.command(name="f", hidden=True, no_args_is_help=False)(get_fire_jobs_app)
36
34
  app.command("ftpx", no_args_is_help=True, help="[ff] File transfer utility though SSH")(ftpx_func)
37
35
  app.command("ff", no_args_is_help=True, hidden=True)(ftpx_func) # short alias
38
36
  app.command("croshell", no_args_is_help=False, help="[r] Cross-shell command execution")(croshell_func)
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.13"
4
4
  # dependencies = [
5
- # "machineconfig>=6.66",
5
+ # "machineconfig>=6.69",
6
6
  # "textual",
7
7
  # "pyperclip",
8
8
  # ]
@@ -192,8 +192,15 @@ python -m machineconfig.cluster.templates.cli_click --file {choice_file} """
192
192
  command = "$ErrorActionPreference = 'SilentlyContinue';\n" + command + "\nStart-Sleep -Seconds 0.5"
193
193
  else:
194
194
  raise NotImplementedError(f"Platform {platform.system()} not supported.")
195
- from machineconfig.utils.code import run_shell_script
196
- run_shell_script(command)
195
+ import os
196
+ op_program_path = os.environ.get("OP_PROGRAM_PATH", None)
197
+ if op_program_path is not None:
198
+ op_program_path = PathExtended(op_program_path)
199
+ op_program_path.parent.mkdir(parents=True, exist_ok=True)
200
+ op_program_path.write_text(command, encoding="utf-8")
201
+ else:
202
+ from machineconfig.utils.code import run_shell_script
203
+ run_shell_script(command)
197
204
 
198
205
 
199
206
  def fire(
@@ -267,6 +274,7 @@ def get_app():
267
274
  app.command(context_settings={"allow_extra_args": True, "allow_interspersed_args": False})(fire)
268
275
  return app
269
276
 
277
+
270
278
  def main():
271
279
  app = get_app()
272
280
  app()
@@ -46,7 +46,7 @@ def path():
46
46
  uv_with = ["textual"]
47
47
  uv_project_dir = None
48
48
  if not Path.home().joinpath("code/machineconfig").exists():
49
- uv_with.append("machineconfig>=6.66")
49
+ uv_with.append("machineconfig>=6.69")
50
50
  else:
51
51
  uv_project_dir = str(Path.home().joinpath("code/machineconfig"))
52
52
  run_shell_script(get_uv_command_executing_python_script(python_script=path.read_text(encoding="utf-8"), uv_with=uv_with, uv_project_dir=uv_project_dir)[0])
@@ -41,9 +41,9 @@ def install(no_copy_assets: Annotated[bool, typer.Option("--no-assets-copy", "-n
41
41
  else:
42
42
  import platform
43
43
  if platform.system() == "Windows":
44
- run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.66" """)
44
+ run_shell_script(r"""& "$HOME\.local\bin\uv.exe" tool install --upgrade "machineconfig>=6.69" """)
45
45
  else:
46
- run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.66" """)
46
+ run_shell_script("""$HOME/.local/bin/uv tool install --upgrade "machineconfig>=6.69" """)
47
47
  from machineconfig.profile.create_shell_profile import create_default_shell_profile
48
48
  if not no_copy_assets:
49
49
  create_default_shell_profile() # involves copying assets too
@@ -68,7 +68,7 @@ def navigate():
68
68
  path = Path(navigator.__file__).resolve().parent.joinpath("devops_navigator.py")
69
69
  from machineconfig.utils.code import run_shell_script
70
70
  if Path.home().joinpath("code/machineconfig").exists(): executable = f"""--project "{str(Path.home().joinpath("code/machineconfig"))}" --with textual"""
71
- else: executable = """--with "machineconfig>=6.66,textual" """
71
+ else: executable = """--with "machineconfig>=6.69,textual" """
72
72
  run_shell_script(f"""uv run {executable} {path}""")
73
73
 
74
74
 
@@ -191,12 +191,36 @@ class CommandTree(Tree[CommandInfo]):
191
191
  help_text="devops config shell <copy|reference>"
192
192
  ))
193
193
 
194
- config_node.add("🔗 pwsh_theme - Configure PowerShell theme", data=CommandInfo(
195
- name="pwsh_theme",
196
- description="Configure your PowerShell theme",
197
- command="devops config pwsh_theme",
194
+ config_node.add("🔗 path - Navigate PATH variable", data=CommandInfo(
195
+ name="path",
196
+ description="Navigate PATH variable with TUI",
197
+ command="devops config path",
198
198
  parent="config",
199
- help_text="devops config pwsh_theme"
199
+ help_text="devops config path"
200
+ ))
201
+
202
+ config_node.add("🔗 starship-theme - Select starship theme", data=CommandInfo(
203
+ name="starship-theme",
204
+ description="Select starship prompt theme",
205
+ command="devops config starship-theme",
206
+ parent="config",
207
+ help_text="devops config starship-theme"
208
+ ))
209
+
210
+ config_node.add("🔗 pwsh-theme - Configure PowerShell theme", data=CommandInfo(
211
+ name="pwsh-theme",
212
+ description="Select powershell prompt theme",
213
+ command="devops config pwsh-theme",
214
+ parent="config",
215
+ help_text="devops config pwsh-theme"
216
+ ))
217
+
218
+ config_node.add("🔗 copy-assets - Copy asset files", data=CommandInfo(
219
+ name="copy-assets",
220
+ description="Copy asset files from library to machine",
221
+ command="devops config copy-assets",
222
+ parent="config",
223
+ help_text="devops config copy-assets <scripts|settings|both>"
200
224
  ))
201
225
 
202
226
  # data subcommands
@@ -241,28 +265,52 @@ class CommandTree(Tree[CommandInfo]):
241
265
  help_text="devops network share-terminal"
242
266
  ))
243
267
 
244
- network_node.add(" install_ssh_server - Install SSH server", data=CommandInfo(
245
- name="install_ssh_server",
268
+ network_node.add("🌐 share-server - Start local/global server", data=CommandInfo(
269
+ name="share-server",
270
+ description="Start local/global server to share files/folders via web browser",
271
+ command="devops network share-server",
272
+ parent="network",
273
+ help_text="devops network share-server"
274
+ ))
275
+
276
+ network_node.add("📡 install-ssh-server - Install SSH server", data=CommandInfo(
277
+ name="install-ssh-server",
246
278
  description="Install SSH server",
247
- command="devops network install_ssh_server",
279
+ command="devops network install-ssh-server",
248
280
  parent="network",
249
- help_text="devops network install_ssh_server"
281
+ help_text="devops network install-ssh-server"
250
282
  ))
251
283
 
252
- network_node.add(" add_ssh_key - Add SSH public key", data=CommandInfo(
253
- name="add_ssh_key",
284
+ network_node.add("🔑 add-ssh-key - Add SSH public key", data=CommandInfo(
285
+ name="add-ssh-key",
254
286
  description="Add SSH public key to this machine",
255
- command="devops network add_ssh_key",
287
+ command="devops network add-ssh-key",
256
288
  parent="network",
257
- help_text="devops network add_ssh_key --path <file> --choose --value --github <username>"
289
+ help_text="devops network add-ssh-key --path <file> --choose --value --github <username>"
258
290
  ))
259
291
 
260
- network_node.add("�️ add_ssh_identity - Add SSH identity", data=CommandInfo(
261
- name="add_ssh_identity",
292
+ network_node.add("🗝️ add-ssh-identity - Add SSH identity", data=CommandInfo(
293
+ name="add-ssh-identity",
262
294
  description="Add SSH identity (private key) to this machine",
263
- command="devops network add_ssh_identity",
295
+ command="devops network add-ssh-identity",
296
+ parent="network",
297
+ help_text="devops network add-ssh-identity"
298
+ ))
299
+
300
+ network_node.add("📌 show-address - Show computer addresses", data=CommandInfo(
301
+ name="show-address",
302
+ description="Show this computer addresses on network",
303
+ command="devops network show-address",
264
304
  parent="network",
265
- help_text="devops network add_ssh_identity"
305
+ help_text="devops network show-address"
306
+ ))
307
+
308
+ network_node.add("🐛 debug-ssh - Debug SSH connection", data=CommandInfo(
309
+ name="debug-ssh",
310
+ description="Debug SSH connection",
311
+ command="devops network debug-ssh",
312
+ parent="network",
313
+ help_text="devops network debug-ssh"
266
314
  ))
267
315
 
268
316
  # self subcommands
@@ -314,6 +362,22 @@ class CommandTree(Tree[CommandInfo]):
314
362
  help_text="devops self navigate"
315
363
  ))
316
364
 
365
+ self_node.add("📚 readme - Render README markdown", data=CommandInfo(
366
+ name="readme",
367
+ description="Render readme markdown in terminal",
368
+ command="devops self readme",
369
+ parent="self",
370
+ help_text="devops self readme"
371
+ ))
372
+
373
+ self_node.add("🐍 python - Run Python command/file", data=CommandInfo(
374
+ name="python",
375
+ description="Run python command/file in the machineconfig environment",
376
+ command="devops self python",
377
+ parent="self",
378
+ help_text="devops self python <path> --command"
379
+ ))
380
+
317
381
  # fire command - now a typer sub-app
318
382
  fire_node = self.root.add("🔥 fire - Fire jobs execution", data=CommandInfo(
319
383
  name="fire",
@@ -463,9 +527,9 @@ class CommandTree(Tree[CommandInfo]):
463
527
  ))
464
528
 
465
529
  # croshell command
466
- self.root.add(" croshell - Interactive shell", data=CommandInfo(
530
+ self.root.add("🔄 croshell - Cross-shell command execution", data=CommandInfo(
467
531
  name="croshell",
468
- description="Interactive shell with various options",
532
+ description="Cross-shell command execution",
469
533
  command="croshell",
470
534
  is_group=False,
471
535
  module_path="machineconfig.scripts.python.croshell",
@@ -473,11 +537,52 @@ class CommandTree(Tree[CommandInfo]):
473
537
  ))
474
538
 
475
539
  # ftpx command
476
- self.root.add("📡 ftpx - File transfer", data=CommandInfo(
540
+ self.root.add("📡 ftpx - File transfer utility", data=CommandInfo(
477
541
  name="ftpx",
478
- description="File transfer between machines",
542
+ description="File transfer utility through SSH",
479
543
  command="ftpx",
480
544
  is_group=False,
481
545
  module_path="machineconfig.scripts.python.ftpx",
482
546
  help_text="ftpx <source> <target> --recursive --zipFirst --cloud"
547
+ ))
548
+
549
+ # utils command
550
+ utils_node = self.root.add("🛠️ utils - Utility commands", data=CommandInfo(
551
+ name="utils",
552
+ description="Utility commands",
553
+ command="utils",
554
+ is_group=True,
555
+ module_path="machineconfig.scripts.python.utils"
556
+ ))
557
+
558
+ utils_node.add("💀 kill-process - Kill processes", data=CommandInfo(
559
+ name="kill-process",
560
+ description="Choose a process to kill interactively",
561
+ command="utils kill-process",
562
+ parent="utils",
563
+ help_text="utils kill-process"
564
+ ))
565
+
566
+ utils_node.add("⬇️ download - Download file", data=CommandInfo(
567
+ name="download",
568
+ description="Download a file from a URL and optionally decompress it",
569
+ command="utils download",
570
+ parent="utils",
571
+ help_text="utils download <url> --destination <path> --decompress"
572
+ ))
573
+
574
+ utils_node.add("📄 merge-pdfs - Merge PDF files", data=CommandInfo(
575
+ name="merge-pdfs",
576
+ description="Merge two PDF files into one",
577
+ command="utils merge-pdfs",
578
+ parent="utils",
579
+ help_text="utils merge-pdfs <file1> <file2> --output <file>"
580
+ ))
581
+
582
+ utils_node.add("🖥️ get-machine-specs - Get machine specifications", data=CommandInfo(
583
+ name="get-machine-specs",
584
+ description="Get machine specifications",
585
+ command="utils get-machine-specs",
586
+ parent="utils",
587
+ help_text="utils get-machine-specs"
483
588
  ))
@@ -80,7 +80,7 @@ git pull originEnc master
80
80
  uv_project_dir = f"""{str(Path.home().joinpath("code/machineconfig"))}"""
81
81
  uv_with = None
82
82
  else:
83
- uv_with = ["machineconfig>=6.66"]
83
+ uv_with = ["machineconfig>=6.69"]
84
84
  uv_project_dir = None
85
85
 
86
86
  import tempfile
@@ -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>=6.66" python -m machineconfig.scripts.python.mount_nfs
8
+ uv run --python 3.14 --with "machineconfig>=6.69" 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."
@@ -0,0 +1,17 @@
1
+ # Generate a random name (based on current timestamp hashed with SHA256)
2
+ $timestamp = Get-Date -Format o | Get-FileHash -Algorithm SHA256
3
+ $randomName = ($timestamp.Hash.Substring(0, 16))
4
+
5
+ # Define the output path
6
+ $env:OP_PROGRAM_PATH = "$HOME/tmp_results/tmp_scripts/machineconfig/${randomName}.ps1"
7
+
8
+ # Run your equivalent command (replace with your actual command)
9
+ mcfg @args
10
+
11
+ # Check if the file exists
12
+ if (Test-Path $env:OP_PROGRAM_PATH) {
13
+ Write-Host "Found op program at: $env:OP_PROGRAM_PATH"
14
+ & $env:OP_PROGRAM_PATH
15
+ } else {
16
+ Write-Host "no op program found"
17
+ }
@@ -7,7 +7,7 @@ $user = ''
7
7
  $sharePath = ''
8
8
  $driveLetter = ''
9
9
 
10
- uv run --python 3.14 --with "machineconfig>=6.66" python -m machineconfig.scripts.python.mount_ssh
10
+ uv run --python 3.14 --with "machineconfig>=6.69" 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,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  . <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
3
3
  mcfg() {
4
- "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.66" mcfg "$@"
4
+ "$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.69" mcfg "$@"
5
5
  }
6
6
  alias d="mcfg devops"
7
7
  alias c="mcfg cloud"
@@ -2,7 +2,7 @@
2
2
 
3
3
  iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
4
4
  function mcfg {
5
- & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.66" mcfg $args
5
+ & "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.69" mcfg $args
6
6
  }
7
7
  function d { mcfg devops @args }
8
8
  function c { mcfg cloud @args }
@@ -160,10 +160,6 @@ class CacheMemory[T]():
160
160
  self.logger = logger
161
161
  self.expire = expire
162
162
  self.name = name if isinstance(name, str) else self.source_func.__name__
163
- @property
164
- def age(self) -> timedelta:
165
- return datetime.now() - self.time_produced
166
-
167
163
  def __call__(self, fresh: bool = False, tolerance_seconds: int = 1000000000000) -> T:
168
164
  if fresh or not hasattr(self, "cache"):
169
165
  why = "There was an explicit fresh order." if fresh else "Previous cache never existed."
@@ -175,7 +171,7 @@ class CacheMemory[T]():
175
171
  self.logger.warning(f"⏱️ Cache population took {time.time() - t0:.2f} seconds.")
176
172
  self.time_produced = datetime.now()
177
173
  else:
178
- age = self.age
174
+ age = datetime.now() - self.time_produced
179
175
  if (age > self.expire) or (fresh and (age.total_seconds() > tolerance_seconds)):
180
176
  self.logger.warning(f"""
181
177
  🔄 ════════════════════ CACHE UPDATE ════════════════════
@@ -214,8 +210,6 @@ class Cache[T](): # This class helps to accelrate access to latest data coming
214
210
  self.logger = logger
215
211
  self.expire = expire
216
212
  self.name = name if isinstance(name, str) else self.source_func.__name__
217
- def get_age(self):
218
- return datetime.now() - self.time_produced
219
213
  def __call__(self, fresh: bool = False, tolerance_seconds: int = 1000000000000) -> T:
220
214
  if not hasattr(self, "cache"): # populate cache for the first time: we have two options, populate from disk or from source func.
221
215
  if self.path.exists(): # prefer to read from disk over source func as a default source of cache.
@@ -262,7 +256,7 @@ class Cache[T](): # This class helps to accelrate access to latest data coming
262
256
  self.time_produced = datetime.now()
263
257
  self.save(self.cache, self.path)
264
258
  else: # memory cache exists
265
- age = self.get_age()
259
+ age = datetime.now() - self.time_produced
266
260
  if (age > self.expire) or (fresh and (age.total_seconds() > tolerance_seconds)): # cache is old or if fresh flag is raised
267
261
  self.logger.warning(f"""
268
262
  🔄 ════════════════════ CACHE UPDATE ════════════════════
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
8
8
  from machineconfig.utils.accessories import pprint, randstr
9
9
  from machineconfig.utils.meta import lambda_to_python_script
10
10
  UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
11
- MACHINECONFIG_VERSION = "machineconfig>=6.66"
11
+ MACHINECONFIG_VERSION = "machineconfig>=6.69"
12
12
  DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
13
13
 
14
14
  class SSH:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: machineconfig
3
- Version: 6.67
3
+ Version: 6.69
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -111,6 +111,7 @@ machineconfig/scripts/linux/fzfag,sha256=x0rX7vM_YjKLZ822D2Xh0HdaTj5kR_gG3g_5_w6
111
111
  machineconfig/scripts/linux/fzffg,sha256=jjeeyFkWmBbwH2taRqC3EOzZep2KR-ZYoI4UI-5kHqg,1090
112
112
  machineconfig/scripts/linux/fzfg,sha256=ClGnJZUsIk4y0qs3W5iXGo-nd0FaqAHMsnh8uoXQFy8,1190
113
113
  machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS3WITM,460
114
+ machineconfig/scripts/linux/mcfgp,sha256=GYxtQrFCxa56hvuAyjfEDGHfp2ghU11pTKzmCHUMicg,300
114
115
  machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
115
116
  machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
116
117
  machineconfig/scripts/linux/z_ls,sha256=h5YJYfnJrmtLe4c2iKk5aZdaK_Zeaj3CpQX8SSr7fr0,3310
@@ -122,11 +123,11 @@ machineconfig/scripts/linux/other/switch_ip,sha256=NQfeKMBSbFY3eP6M-BadD-TQo5qMP
122
123
  machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
124
  machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
124
125
  machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
125
- machineconfig/scripts/python/croshell.py,sha256=RVGH3ZcuBDnw0oPllNsvZQxJsulVxYNec7rJcvCnBg8,8247
126
+ machineconfig/scripts/python/croshell.py,sha256=gidD9wF4A23WlRNfzbKcPa2BvIKqcAkzQ1CSlN3A2NY,8580
126
127
  machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
127
128
  machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
128
- machineconfig/scripts/python/entry.py,sha256=liCf186Msa6R-EjcQ0I6K80Km7Wi8qckJB6rXIHeHU0,2488
129
- machineconfig/scripts/python/fire_jobs.py,sha256=My7sFn1R2vh21uIHGfNppgX99WTEitCFgJ1MSasBUOQ,13597
129
+ machineconfig/scripts/python/entry.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
130
+ machineconfig/scripts/python/fire_jobs.py,sha256=7L9g4NCr-0gGw3XGNvRCtu77fpfTrTTXMWZ_R4EoSlc,13912
130
131
  machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
131
132
  machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
132
133
  machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
@@ -163,7 +164,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
163
164
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
164
165
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
165
166
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
166
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=v6vMcGpK7Yu-y-CJW4OYPQkgV2FPUoxg_toWm5hgkQk,6932
167
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=ZHbx3nNxmn7doyzrTjruqZZuaEEAD3revPLXX_zzQUQ,6932
167
168
  machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
169
  machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
169
170
  machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
@@ -179,12 +180,12 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
179
180
  machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
180
181
  machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
181
182
  machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
- machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=2Wt1uj9s8VBJnx3nkA6-kdAgU591mQrmGRYgfhc-v0c,7218
183
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=O2j7s3RethPmf3R0ZUuq98SP7uF9fH5SR53U2mh9diw,7218
183
184
  machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
184
185
  machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
185
186
  machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
186
187
  machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
187
- machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=ZWU3EeiLM4JhgXVbKnbRht3wne0y59sPnu1viFNmhco,6225
188
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=0slPJsKIia5Yto_UY4_AZqQXnWyfkJdb3Hg0YK8q000,6225
188
189
  machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
189
190
  machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
190
191
  machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=gj9KNY6GyzSflXJRkX0lzyvypvwdgseudXhgJcmAtPY,6074
@@ -219,13 +220,13 @@ machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,
219
220
  machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
220
221
  machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
221
222
  machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
222
- machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=IfIqLDh4EysSxvwCwKb-tArDWZhjnQJpDm9RRlLlz90,20216
223
+ machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=Kw673rk7QbRBL1lCvCDC5HsoQemzh2mEw5aJSQPbgtk,24421
223
224
  machineconfig/scripts/python/helpers_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
224
225
  machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg0D4SzTcu48Wsc8lO0LKAzrZxCsCtg,8849
225
226
  machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
226
227
  machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
227
228
  machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
228
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=S25zle7gJ3agi2qlDA3aqwYvoJkLGpMvmx7btm3OmUk,10450
229
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=KoYM6JqM-dcN8cyR6lP_hkUhKWPTDf00gYbt9CoxEcw,10450
229
230
  machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
230
231
  machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
231
232
  machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
@@ -241,7 +242,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
241
242
  machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
242
243
  machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
243
244
  machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
244
- machineconfig/scripts/python/nw/mount_nfs,sha256=R900EQEVjZScZenqEjaYL9dLkobBsNxKpXq-nOCkdZQ,1855
245
+ machineconfig/scripts/python/nw/mount_nfs,sha256=JTx0HgVLWdJ77mcpAzDUBf8Q5FNLLaPVtMGokk1t2BE,1855
245
246
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
246
247
  machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
247
248
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
@@ -255,10 +256,11 @@ machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8
255
256
  machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
256
257
  machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
257
258
  machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
259
+ machineconfig/scripts/windows/mcfgp.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
258
260
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
259
261
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
260
262
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
261
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=ExQ6XMWhs7uP5lf6qHHTbu5A4NjP9ARSFxKERWTM7uw,322
263
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=zsDa_sKBxIV9_pUJdiKXtwNOIiHKeMAIibjA1swv_vo,322
262
264
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
263
265
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
264
266
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -375,7 +377,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
375
377
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
376
378
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
377
379
  machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
378
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=tItrgkk3kG9-ylEDRgr9MZa1EHtATpNLPyq9-95GdOk,464
380
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=ofIWdLyM-_cyaP8fy_DAbWj9790ARnDMS9IEsISpugk,464
379
381
  machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
380
382
  machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
381
383
  machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
@@ -389,7 +391,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
389
391
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
390
392
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
391
393
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
392
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=r3WkAf0Br9MvsH5ow7tadkSyBAhOC8aL1AMR57jRCKo,581
394
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=xooNUprrTC2YGZpg04jYuAoj-TRpvmawVVaREOEwtDo,581
393
395
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
394
396
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
395
397
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -404,10 +406,10 @@ machineconfig/utils/options.py,sha256=vUO4Kej-vDOv64wHr2HNDyu6PATURpjd7xp6N8OOoJ
404
406
  machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
405
407
  machineconfig/utils/path_helper.py,sha256=0e3Xh3BAEv27oqcezNeVLHJllGmLEgLH4T1l90m-650,8014
406
408
  machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,10957
407
- machineconfig/utils/scheduler.py,sha256=vOdkk1wHz3A0hF6bGJJ84AbprhqAEv-69Wf65qPLnuo,14861
409
+ machineconfig/utils/scheduler.py,sha256=AwSUzGr7rbDVzHtw7k2xA2GpSoV1b6Ml1z7FsUPIa9w,14737
408
410
  machineconfig/utils/scheduling.py,sha256=6x5zLA7sY5gohrEtN6zGrXIqNFasMoyBfwLcOjrjiME,11109
409
411
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
410
- machineconfig/utils/ssh.py,sha256=8LEH4n1H5CNEItuA3kWIc_B_doa9nieS31St7CWwkCo,38991
412
+ machineconfig/utils/ssh.py,sha256=XiS4FGlnPseM3JRP6vPF0iCx6TCqIChy0-DCBJLWFPQ,38991
411
413
  machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
412
414
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
413
415
  machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
@@ -436,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
436
438
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
437
439
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
438
440
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
- machineconfig-6.67.dist-info/METADATA,sha256=pnBakIwJbF5CqCnGDgJikbFmsla3QmwkSY2n20edgx8,2928
440
- machineconfig-6.67.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
441
- machineconfig-6.67.dist-info/entry_points.txt,sha256=NTW7hbUlpt5Vx9DdQrONLkYMCuBXpvYh1dt0AtlGxeI,466
442
- machineconfig-6.67.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
443
- machineconfig-6.67.dist-info/RECORD,,
441
+ machineconfig-6.69.dist-info/METADATA,sha256=OjoqjFg_BAU1nsDHXXY-bpb26z6bQw64v0uXHHlpcnI,2928
442
+ machineconfig-6.69.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
443
+ machineconfig-6.69.dist-info/entry_points.txt,sha256=NTW7hbUlpt5Vx9DdQrONLkYMCuBXpvYh1dt0AtlGxeI,466
444
+ machineconfig-6.69.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
445
+ machineconfig-6.69.dist-info/RECORD,,