machineconfig 6.47__py3-none-any.whl → 6.48__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 (70) hide show
  1. machineconfig/scripts/python/cloud.py +3 -3
  2. machineconfig/scripts/python/croshell.py +6 -6
  3. machineconfig/scripts/python/devops.py +6 -6
  4. machineconfig/scripts/python/devops_navigator.py +1 -1
  5. machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
  6. machineconfig/scripts/python/ftpx.py +1 -1
  7. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_copy.py +2 -2
  8. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_sync.py +3 -3
  9. machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/helpers2.py +1 -1
  10. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_config.py +3 -3
  11. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_data.py +2 -2
  12. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_nw.py +2 -2
  13. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_repos.py +10 -10
  14. machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_self.py +4 -4
  15. machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_backup_retrieve.py +1 -1
  16. machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_update_repos.py +1 -1
  17. machineconfig/scripts/python/helpers_navigator/__init__.py +20 -0
  18. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_builder.py +1 -1
  19. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_detail.py +1 -1
  20. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/command_tree.py +1 -1
  21. machineconfig/scripts/python/{helper_navigator → helpers_navigator}/main_app.py +5 -5
  22. machineconfig/scripts/python/{repos_helpers → helpers_repos}/action.py +1 -1
  23. machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +3 -3
  24. machineconfig/scripts/python/{repos_helpers → helpers_repos}/count_lines_frontend.py +2 -2
  25. machineconfig/scripts/python/{repos_helpers → helpers_repos}/entrypoint.py +2 -2
  26. machineconfig/scripts/python/interactive.py +3 -3
  27. machineconfig/scripts/python/nw/mount_nfs +1 -1
  28. machineconfig/scripts/python/sessions.py +1 -1
  29. machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
  30. machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  31. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  32. machineconfig/utils/meta.py +67 -34
  33. machineconfig/utils/procs.py +10 -23
  34. machineconfig/utils/ssh.py +1 -1
  35. {machineconfig-6.47.dist-info → machineconfig-6.48.dist-info}/METADATA +1 -1
  36. {machineconfig-6.47.dist-info → machineconfig-6.48.dist-info}/RECORD +68 -69
  37. machineconfig/scripts/python/helper_navigator/__init__.py +0 -20
  38. machineconfig/scripts/python/sessions_helpers/__init__.py +0 -0
  39. /machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/__init__.py +0 -0
  40. /machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_helpers.py +0 -0
  41. /machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/cloud_mount.py +0 -0
  42. /machineconfig/scripts/python/{cloud_helpers → helpers_cloud}/helpers5.py +0 -0
  43. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/__init__.py +0 -0
  44. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/crosh.py +0 -0
  45. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/pomodoro.py +0 -0
  46. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/scheduler.py +0 -0
  47. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/start_slidev.py +0 -0
  48. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/viewer.py +0 -0
  49. /machineconfig/scripts/python/{croshell_helpers → helpers_croshell}/viewer_template.py +0 -0
  50. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/__init__.py +0 -0
  51. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_config_dotfile.py +0 -0
  52. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_share_server.py +0 -0
  53. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_terminal.py +0 -0
  54. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/cli_utils.py +0 -0
  55. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/devops_status.py +0 -0
  56. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/themes/__init__.py +0 -0
  57. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/themes/choose_pwsh_theme.ps1 +0 -0
  58. /machineconfig/scripts/python/{devops_helpers → helpers_devops}/themes/choose_wezterm_theme.py +0 -0
  59. /machineconfig/scripts/python/{helper_navigator → helpers_navigator}/data_models.py +0 -0
  60. /machineconfig/scripts/python/{helper_navigator → helpers_navigator}/search_bar.py +0 -0
  61. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/clone.py +0 -0
  62. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/count_lines.py +0 -0
  63. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/record.py +0 -0
  64. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/sync.py +0 -0
  65. /machineconfig/scripts/python/{repos_helpers → helpers_repos}/update.py +0 -0
  66. /machineconfig/scripts/python/{helpers_repos → helpers_sessions}/__init__.py +0 -0
  67. /machineconfig/scripts/python/{sessions_helpers → helpers_sessions}/sessions_multiprocess.py +0 -0
  68. {machineconfig-6.47.dist-info → machineconfig-6.48.dist-info}/WHEEL +0 -0
  69. {machineconfig-6.47.dist-info → machineconfig-6.48.dist-info}/entry_points.txt +0 -0
  70. {machineconfig-6.47.dist-info → machineconfig-6.48.dist-info}/top_level.txt +0 -0
@@ -3,11 +3,14 @@
3
3
  import ast
4
4
  import inspect
5
5
  import textwrap
6
+ from collections.abc import Callable, Mapping
6
7
  from types import FunctionType, ModuleType
7
- from typing import Any
8
+ from typing import ParamSpec
8
9
 
10
+ P = ParamSpec("P")
9
11
 
10
- def function_to_script(func: FunctionType, call_with_args: tuple[Any, ...] | None = None, call_with_kwargs: dict[str, Any] | None = None) -> str:
12
+
13
+ def function_to_script(func: Callable[P, object], call_with_kwargs: Mapping[str, object] | None) -> str:
11
14
  """Convert a function to a standalone executable Python script.
12
15
 
13
16
  This function analyzes a given function and generates a complete Python script
@@ -16,7 +19,6 @@ def function_to_script(func: FunctionType, call_with_args: tuple[Any, ...] | Non
16
19
 
17
20
  Args:
18
21
  func: The function to convert to a script
19
- call_with_args: Optional tuple of positional arguments to call the function with
20
22
  call_with_kwargs: Optional dict of keyword arguments to call the function with
21
23
 
22
24
  Returns:
@@ -25,35 +27,37 @@ def function_to_script(func: FunctionType, call_with_args: tuple[Any, ...] | Non
25
27
  Raises:
26
28
  ValueError: If the function cannot be inspected or analyzed
27
29
  """
28
- if not callable(func) or not hasattr(func, '__code__'):
29
- raise ValueError(f"Expected a function, got {type(func)}")
30
-
31
- call_with_args = call_with_args or ()
32
- call_with_kwargs = call_with_kwargs or {}
33
-
34
- imports = _extract_imports(func)
35
- globals_needed = _extract_globals(func)
36
- source_code = _get_function_source(func)
37
- call_statement = _generate_call_statement(func, call_with_args, call_with_kwargs)
38
-
30
+ if not isinstance(func, FunctionType):
31
+ raise ValueError(f"""Expected a Python function, got {type(func)}""")
32
+
33
+ python_func = func
34
+
35
+ imports = _extract_imports(python_func)
36
+ globals_needed = _extract_globals(python_func)
37
+ source_code = _get_function_source(python_func).rstrip()
38
+ validated_kwargs = _prepare_call_kwargs(python_func, call_with_kwargs)
39
+ call_statement = _generate_call_statement(python_func, validated_kwargs) if validated_kwargs is not None else None
40
+
39
41
  script_parts: list[str] = []
40
-
42
+
41
43
  if imports:
42
44
  script_parts.append(imports)
43
- script_parts.append("")
44
-
45
+
45
46
  if globals_needed:
47
+ if script_parts:
48
+ script_parts.append("")
46
49
  script_parts.append(globals_needed)
50
+
51
+ if script_parts:
47
52
  script_parts.append("")
48
-
53
+
49
54
  script_parts.append(source_code)
50
- script_parts.append("")
51
-
52
- if call_statement:
55
+
56
+ if call_statement is not None:
53
57
  script_parts.append("")
54
58
  script_parts.append("if __name__ == '__main__':")
55
59
  script_parts.append(f" {call_statement}")
56
-
60
+
57
61
  return "\n".join(script_parts)
58
62
 
59
63
 
@@ -149,18 +153,47 @@ def _extract_globals(func: FunctionType) -> str:
149
153
  return "\n".join(global_assignments)
150
154
 
151
155
 
152
- def _generate_call_statement(func: FunctionType, args: tuple[Any, ...], kwargs: dict[str, Any]) -> str:
153
- """Generate a function call statement with the given arguments."""
154
- if not args and not kwargs:
156
+ def _prepare_call_kwargs(func: FunctionType, call_with_kwargs: Mapping[str, object] | None) -> dict[str, object] | None:
157
+ if call_with_kwargs is None:
158
+ return None
159
+
160
+ normalized_kwargs = dict(call_with_kwargs)
161
+
162
+ if not normalized_kwargs:
163
+ return {}
164
+
165
+ signature = inspect.signature(func)
166
+ positional_only = [parameter.name for parameter in signature.parameters.values() if parameter.kind is inspect.Parameter.POSITIONAL_ONLY]
167
+
168
+ if positional_only:
169
+ joined = ", ".join(positional_only)
170
+ raise ValueError(f"""Cannot call {func.__name__} with positional-only parameters: {joined}""")
171
+
172
+ try:
173
+ signature.bind(**normalized_kwargs)
174
+ except TypeError as error:
175
+ raise ValueError(f"""Invalid call_with_kwargs for {func.__name__}: {error}""") from error
176
+
177
+ return normalized_kwargs
178
+
179
+
180
+ def _generate_call_statement(func: FunctionType, kwargs: dict[str, object]) -> str:
181
+ """Generate a function call statement with the given keyword arguments."""
182
+ if not kwargs:
155
183
  return f"{func.__name__}()"
156
-
157
- arg_parts: list[str] = []
158
-
159
- for arg in args:
160
- arg_parts.append(repr(arg))
161
-
162
- for key, value in kwargs.items():
163
- arg_parts.append(f"{key}={repr(value)}")
164
-
184
+
185
+ arg_parts: list[str] = [f"{key}={repr(value)}" for key, value in kwargs.items()]
165
186
  args_str = ", ".join(arg_parts)
166
187
  return f"{func.__name__}({args_str})"
188
+
189
+
190
+ if __name__ == "__main__":
191
+ # Example usage
192
+ a = True
193
+ b = 3
194
+ def func(no_copy_assets: bool = a):
195
+ from machineconfig.scripts.python.helpers_devops.cli_self import update
196
+ update(no_copy_assets=no_copy_assets)
197
+ script = function_to_script(func, call_with_kwargs=None)
198
+ print(script)
199
+ pass
@@ -106,51 +106,45 @@ class ProcessManager:
106
106
  """Format process data as table string for display."""
107
107
  if not self.data:
108
108
  return ""
109
-
110
109
  # Create header
111
110
  _headers = ["Command", "PID", "Name", "Username", "CPU%", "Memory(MB)", "Status", "Create Time"]
112
111
  header_line = f"{'Command':<50} {'PID':<8} {'Name':<20} {'Username':<12} {'CPU%':<8} {'Memory(MB)':<12} {'Status':<12} {'Create Time':<20}"
113
112
  separator = "-" * len(header_line)
114
-
115
113
  lines = [header_line, separator]
116
-
117
114
  for process in self.data:
118
115
  # Format create_time as string
119
116
  create_time_str = process["create_time"].strftime("%Y-%m-%d %H:%M:%S")
120
117
  # Truncate command if too long
121
118
  command = process["command"][:47] + "..." if len(process["command"]) > 50 else process["command"]
122
-
123
119
  line = f"{command:<50} {process['pid']:<8} {process['name'][:19]:<20} {process['username'][:11]:<12} {process['cpu_percent']:<8.1f} {process['memory_usage_mb']:<12.2f} {process['status'][:11]:<12} {create_time_str:<20}"
124
120
  lines.append(line)
125
-
126
121
  return "\n".join(lines)
127
122
 
128
123
  def choose_and_kill(self):
129
124
  # header for interactive process selection
130
125
  title = "🎯 INTERACTIVE PROCESS SELECTION AND TERMINATION"
131
126
  console.print(Panel(title, title="[bold blue]Process Info[/bold blue]", border_style="blue"))
132
-
133
127
  # Format data as table for display
134
128
  formatted_data = self._format_process_table()
135
- options = formatted_data.split("\n")[1:] # Skip header
136
- res = choose_from_options(options=formatted_data.split("\n"), msg="📋 Select processes to manage:", fzf=True, multi=True)
137
- indices = [options.index(val) for val in res]
129
+ all_lines = formatted_data.split("\n")
130
+ header_and_separator = all_lines[:2] # First two lines: header and separator
131
+ options = all_lines[2:] # Skip header and separator, only process lines
132
+ res = choose_from_options(options=all_lines, msg="📋 Select processes to manage:", fzf=True, multi=True)
133
+ # Filter out header and separator if they were selected
134
+ selected_lines = [line for line in res if line not in header_and_separator]
135
+ indices = [options.index(val) for val in selected_lines]
138
136
  selected_processes = [self.data[i] for i in indices]
139
-
140
137
  print("\n📊 All Processes:")
141
138
  print(formatted_data)
142
139
  print("\n🎯 Selected Processes:")
143
140
  for process in selected_processes:
144
141
  print(f"PID: {process['pid']}, Name: {process['name']}, Memory: {process['memory_usage_mb']:.2f}MB")
145
-
146
142
  for idx, process in enumerate(selected_processes):
147
143
  pprint(dict(process), f"📌 Process {idx}")
148
-
149
144
  kill_all = input("\n⚠️ Confirm killing ALL selected processes? y/[n] ").lower() == "y"
150
145
  if kill_all:
151
146
  self.kill(pids=[p["pid"] for p in selected_processes])
152
147
  return
153
-
154
148
  kill_by_index = input("\n🔫 Kill by index? (enter numbers separated by spaces, e.g. '1 4') or [n] to cancel: ")
155
149
  if kill_by_index != "" and kill_by_index != "n":
156
150
  indices = [int(val) for val in kill_by_index.split(" ")]
@@ -164,12 +158,10 @@ class ProcessManager:
164
158
  # header for filtering processes by name
165
159
  title = "🔍 FILTERING AND TERMINATING PROCESSES BY NAME"
166
160
  console.print(Panel(title, title="[bold blue]Process Info[/bold blue]", border_style="blue"))
167
-
168
161
  # Filter processes by name
169
162
  filtered_processes = [p for p in self.data if p["name"] == name]
170
163
  # Sort by create_time (ascending)
171
164
  filtered_processes.sort(key=lambda x: x["create_time"])
172
-
173
165
  print(f"🎯 Found {len(filtered_processes)} processes matching name: '{name}'")
174
166
  self.kill(pids=[p["pid"] for p in filtered_processes])
175
167
  console.print(Panel("", title="[bold blue]Process Info[/bold blue]", border_style="blue"))
@@ -186,40 +178,35 @@ class ProcessManager:
186
178
  pids = []
187
179
  if commands is None:
188
180
  commands = []
189
-
190
181
  killed_count = 0
191
-
192
182
  for name in names:
193
183
  matching_processes = [p for p in self.data if p["name"] == name]
194
184
  if len(matching_processes) > 0:
195
185
  for process in matching_processes:
196
186
  psutil.Process(process["pid"]).kill()
197
- print(f"💀 Killed process {name} with PID {process['pid']}. It lived {get_age(process['create_time'])}. RIP 🪦💐")
187
+ print(f"💀 Killed process {name} with PID {process['pid']}. It lived {get_age(process['create_time'])}. RIP 💐")
198
188
  killed_count += 1
199
189
  else:
200
190
  print(f'❓ No process named "{name}" found')
201
-
202
191
  for pid in pids:
203
192
  try:
204
193
  proc = psutil.Process(pid)
205
194
  proc_name = proc.name()
206
195
  proc_lifetime = get_age(datetime.fromtimestamp(proc.create_time(), tz=None))
207
196
  proc.kill()
208
- print(f'💀 Killed process with PID {pid} and name "{proc_name}". It lived {proc_lifetime}. RIP 🪦💐')
197
+ print(f'💀 Killed process with PID {pid} and name "{proc_name}". It lived {proc_lifetime}. RIP 💐')
209
198
  killed_count += 1
210
199
  except psutil.NoSuchProcess:
211
200
  print(f"❓ No process with PID {pid} found")
212
-
213
201
  for command in commands:
214
202
  matching_processes = [p for p in self.data if command in p["command"]]
215
203
  if len(matching_processes) > 0:
216
204
  for process in matching_processes:
217
205
  psutil.Process(process["pid"]).kill()
218
- print(f'💀 Killed process with "{command}" in its command & PID {process["pid"]}. It lived {get_age(process["create_time"])}. RIP 🪦💐')
206
+ print(f'💀 Killed process with "{command}" in its command & PID {process["pid"]}. It lived {get_age(process["create_time"])}. RIP 💐')
219
207
  killed_count += 1
220
208
  else:
221
209
  print(f'❓ No process has "{command}" in its command.')
222
-
223
210
  console.print(Panel(f"✅ Termination complete: {killed_count} processes terminated", title="[bold blue]Process Info[/bold blue]", border_style="blue"))
224
211
 
225
212
 
@@ -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>=6.47"
9
+ MACHINECONFIG_VERSION = "machineconfig>=6.48"
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: 6.47
3
+ Version: 6.48
4
4
  Summary: Dotfiles management package
5
5
  Author-email: Alex Al-Saffar <programmer@usa.com>
6
6
  License: Apache 2.0
@@ -121,15 +121,15 @@ machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4I
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
123
  machineconfig/scripts/python/agents.py,sha256=gGeeWCI0AN_DyDJ3G5KR9qSsXv8zkUd5dBRRWqz-dQE,10722
124
- machineconfig/scripts/python/cloud.py,sha256=jwftTQGhIP39wIKHB1lQbcbmo2dMnWoTcs-Wly3Ql5U,1263
125
- machineconfig/scripts/python/croshell.py,sha256=bOos2trhmmPM16g2VQcCLt8QbxdkOoNhDCasakk_Cmc,8007
126
- machineconfig/scripts/python/devops.py,sha256=FXs7IhTkbl0kHST4VPQLKn9y8Y7MWJcJomLLBqiJkow,2440
127
- machineconfig/scripts/python/devops_navigator.py,sha256=4O9_-ACeP748NcMjWQXZF7mBQpMPxqCGhLvPG3DMi4Q,236
124
+ machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yyeehw_cU8,1263
125
+ machineconfig/scripts/python/croshell.py,sha256=26ZDe9qKKDFQw0TPPeKRZGUAFfykHTFVI7PGnAwOejc,8007
126
+ machineconfig/scripts/python/devops.py,sha256=LGra1YiLEQYjaRevNjJB51Bia81IgjrvUQkA6z8wq8I,2440
127
+ machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
128
128
  machineconfig/scripts/python/entry.py,sha256=a0Zk_3RnIFTQ55zSQrvOOiKom_SaoxElPMmWQgGy4V0,2221
129
129
  machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
130
- machineconfig/scripts/python/ftpx.py,sha256=UBDP6IIfWkaML1uZT1FrfGUUy_Of5LI82IdqEzo05_U,9760
131
- machineconfig/scripts/python/interactive.py,sha256=hUU_Mm7P1bGz9SrtermGz2KuwD66_UsJfcoSf5BSmLU,11666
132
- machineconfig/scripts/python/sessions.py,sha256=RS16G1XoRG9Q5hQSFUKg-VK67dlEkcbFCEDRdyDEwf8,9823
130
+ machineconfig/scripts/python/ftpx.py,sha256=vm4QNJA0z1Vu-85wFliGNoDHMZZ-Yy8zQACL6x7Wo6U,9760
131
+ machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
132
+ machineconfig/scripts/python/sessions.py,sha256=UERxO472EDtN7nKHEULbn6G3S5PJIpsDG9Gq3TlByqI,9823
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
135
135
  machineconfig/scripts/python/ai/initai.py,sha256=9SZtWOcRuwk8ZU3wHOfPzjInERD79ZTYFY8tVACgza4,2260
@@ -160,46 +160,39 @@ machineconfig/scripts/python/ai/solutions/gemini/settings.json,sha256=tFdtqZkyti
160
160
  machineconfig/scripts/python/ai/solutions/kilocode/privacy.md,sha256=oKOXnfFOdUuMlKwVf5MqeqCc24hZcjKE_e1MEXpijJI,117
161
161
  machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1dNzkUCS_vCX_fy2TisRtfg8DXH-D4N1iUVU,99
162
162
  machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
163
- machineconfig/scripts/python/cloud_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
- machineconfig/scripts/python/cloud_helpers/cloud_copy.py,sha256=qh96_QWxsaRPpgLDZaMPIUyHfkr1dTMb2bwvalY_kiA,8691
165
- machineconfig/scripts/python/cloud_helpers/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
166
- machineconfig/scripts/python/cloud_helpers/cloud_mount.py,sha256=DEZHwOgFcAVoI-NrBflFLbAjijOYZYq_D5M8xJQdtSQ,6487
167
- machineconfig/scripts/python/cloud_helpers/cloud_sync.py,sha256=0HYhr60U-pAfFucgmJ2TtEB7CkeDMNufi0QcpS9VdIQ,3481
168
- machineconfig/scripts/python/cloud_helpers/helpers2.py,sha256=aPGz_3WqZJaqmn_bGMtFFmDlLytnOS5KWacZMgXTDJw,7310
169
- machineconfig/scripts/python/cloud_helpers/helpers5.py,sha256=dPBvA9Tcyx9TMgM6On49A1CueGMhBdRzikDnlJGf3J0,1123
170
- machineconfig/scripts/python/croshell_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- machineconfig/scripts/python/croshell_helpers/crosh.py,sha256=W6sG3qu8fNvuEXtogT6yFgJhqgXSEwIQ9zLHvijbszM,1524
172
- machineconfig/scripts/python/croshell_helpers/pomodoro.py,sha256=SPkfeoZGv8rylGiOyzQ7UK3aXZ3G2FIOuGkSuBUggOI,2019
173
- machineconfig/scripts/python/croshell_helpers/scheduler.py,sha256=rKhssuxkD697EY6qaV6CSdNhxpAQLDWO4fE8GMCQ9FA,3061
174
- machineconfig/scripts/python/croshell_helpers/start_slidev.py,sha256=HfJReOusTPhwcbAvCyJyTBd2iumJB5wmPdcTXz_Yvh8,4897
175
- machineconfig/scripts/python/croshell_helpers/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
176
- machineconfig/scripts/python/croshell_helpers/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
177
- machineconfig/scripts/python/devops_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
- machineconfig/scripts/python/devops_helpers/cli_config.py,sha256=A8xD9sqxYhoIn3qFgw7BHhK7bb4MZ2P8o7ysm8tuyq0,5652
179
- machineconfig/scripts/python/devops_helpers/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
180
- machineconfig/scripts/python/devops_helpers/cli_data.py,sha256=2OWwp86-ncpGoSP9IblW7Jjej-wc-PuS8KRZ5xh0l1c,1774
181
- machineconfig/scripts/python/devops_helpers/cli_nw.py,sha256=kXJkdO0xY4cpD0GWC0DcjdiQXf1iVt6OBwvJb3MghAk,4176
182
- machineconfig/scripts/python/devops_helpers/cli_repos.py,sha256=qnpjSPM71p6vLgigIwItPo-XxR6iP9UaK7lxw3-CdfA,12505
183
- machineconfig/scripts/python/devops_helpers/cli_self.py,sha256=vfci6R--zTYYWpHiwJWe2AyCmSGDJ1vudYuTff19nB0,6167
184
- machineconfig/scripts/python/devops_helpers/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
185
- machineconfig/scripts/python/devops_helpers/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
186
- machineconfig/scripts/python/devops_helpers/cli_utils.py,sha256=G2RHnOvNfEWjxETZjXVu688xyLL-c0Zq22p24kXLLQ8,3487
187
- machineconfig/scripts/python/devops_helpers/devops_backup_retrieve.py,sha256=8VpnWytbJYdZZfeLmULgGeGuV5BlHrzdcbGtSsmU-EA,5598
188
- machineconfig/scripts/python/devops_helpers/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
189
- machineconfig/scripts/python/devops_helpers/devops_update_repos.py,sha256=TLYhvMMDJCqLNsv1h4a0MtxYqQHWkRRvKnERyXd8MAs,10133
190
- machineconfig/scripts/python/devops_helpers/themes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
- machineconfig/scripts/python/devops_helpers/themes/choose_pwsh_theme.ps1,sha256=58gFOeynADHLTdk8zqEnndBtyNGrln0jvpo76O0UWTw,3136
192
- machineconfig/scripts/python/devops_helpers/themes/choose_wezterm_theme.py,sha256=pRXAGe2IpysYshsaF8CKEwHI8EGPtLcM8PtiAqM7vmM,3425
193
163
  machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
194
164
  machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
195
- machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=GcyhEppIyBllT3h14oW9dgvGPlTFih3yJsNSkx0S0_Y,6932
196
- machineconfig/scripts/python/helper_navigator/__init__.py,sha256=6YBy1l9ISjHE0LctVwSRMV_OFq29FOInwXFN0Ff7owM,758
197
- machineconfig/scripts/python/helper_navigator/command_builder.py,sha256=tMIonhYPWpdPGaiGPRg8JDCvyW0h2uxL15uL_JyWsnk,4617
198
- machineconfig/scripts/python/helper_navigator/command_detail.py,sha256=i4MdiCOVaXdRmLqr4K-F1Mk1u93bl5heIN97cRPCnzg,1692
199
- machineconfig/scripts/python/helper_navigator/command_tree.py,sha256=bppJyuVFSD29_xnGLa2jrea3zeLYAtYuSlzGK7Y1ShE,20215
200
- machineconfig/scripts/python/helper_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
201
- machineconfig/scripts/python/helper_navigator/main_app.py,sha256=HhBttfk0bdQfWD9lC8yyoYDKBMzxkpw7NKE0IS7JUFE,8844
202
- machineconfig/scripts/python/helper_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
165
+ machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=2rSVrT2MNVG9UinfSna35S0kyRsRhPVBOO4dVO8o8Rk,6932
166
+ machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
168
+ machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
169
+ machineconfig/scripts/python/helpers_cloud/cloud_mount.py,sha256=DEZHwOgFcAVoI-NrBflFLbAjijOYZYq_D5M8xJQdtSQ,6487
170
+ machineconfig/scripts/python/helpers_cloud/cloud_sync.py,sha256=ThfI4rvKG6IPzAo3KrkKtf6CQJmBDt-9OXkFGxg1sn8,3481
171
+ machineconfig/scripts/python/helpers_cloud/helpers2.py,sha256=3fXDiDlz5EDk_04YtPd-bjZcjUjmGTpgiQ1YMaGbD8g,7310
172
+ machineconfig/scripts/python/helpers_cloud/helpers5.py,sha256=dPBvA9Tcyx9TMgM6On49A1CueGMhBdRzikDnlJGf3J0,1123
173
+ machineconfig/scripts/python/helpers_croshell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
+ machineconfig/scripts/python/helpers_croshell/crosh.py,sha256=W6sG3qu8fNvuEXtogT6yFgJhqgXSEwIQ9zLHvijbszM,1524
175
+ machineconfig/scripts/python/helpers_croshell/pomodoro.py,sha256=SPkfeoZGv8rylGiOyzQ7UK3aXZ3G2FIOuGkSuBUggOI,2019
176
+ machineconfig/scripts/python/helpers_croshell/scheduler.py,sha256=rKhssuxkD697EY6qaV6CSdNhxpAQLDWO4fE8GMCQ9FA,3061
177
+ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPhwcbAvCyJyTBd2iumJB5wmPdcTXz_Yvh8,4897
178
+ machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
179
+ machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
180
+ machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
+ machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=4RFErSrdrOBmmSNRycmrOo1EDqamg-C8tdeZjewGZ_I,5652
182
+ machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=rjTys4FNf9_feP9flWM7Zvq17dxWmetSiGaHPxp25nk,2737
183
+ machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
184
+ machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=B5Xa9pV5MdC4vPo3EmKaHvNMlThsY3c5F92YPE5j3rI,4176
185
+ machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
186
+ machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=aGKWQXcLQOJMsam2fgAgsYX3HfaJi8vwxx_oBQUhs5Y,6167
187
+ machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
188
+ machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
189
+ machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=G2RHnOvNfEWjxETZjXVu688xyLL-c0Zq22p24kXLLQ8,3487
190
+ machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Dn8luB6QJzxKiiFSC-NMqiYddWZoca3A8eOjMYZDzTc,5598
191
+ machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
192
+ machineconfig/scripts/python/helpers_devops/devops_update_repos.py,sha256=kSln8_-Wn7Qu0NaKdt-QTN_bBVyTIAWHH8xVYKK-vCM,10133
193
+ machineconfig/scripts/python/helpers_devops/themes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ machineconfig/scripts/python/helpers_devops/themes/choose_pwsh_theme.ps1,sha256=58gFOeynADHLTdk8zqEnndBtyNGrln0jvpo76O0UWTw,3136
195
+ machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py,sha256=pRXAGe2IpysYshsaF8CKEwHI8EGPtLcM8PtiAqM7vmM,3425
203
196
  machineconfig/scripts/python/helpers_fire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
197
  machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=GBhi9WvmQDwJOcF3sjvge5x5U7TUokcVo4K4CbEm-OI,5619
205
198
  machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
@@ -220,16 +213,32 @@ machineconfig/scripts/python/helpers_fire_command/cloud_manager.py,sha256=YN0DYL
220
213
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_args_helper.py,sha256=UUrGB2N_pR7PxFKtKTJxIUiS58WjQX0U50y2ft8Ul4w,4334
221
214
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py,sha256=4MrlCVijbx7GQyAN9s5LDh-7heSjMXYrXdqiP6uC3ug,5378
222
215
  machineconfig/scripts/python/helpers_fire_command/fire_jobs_streamlit_helper.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
- machineconfig/scripts/python/helpers_repos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=aBTGjLYJGtR7miR932iDqaNS28EVcZKuxb-iT3j56Lw,9989
216
+ machineconfig/scripts/python/helpers_navigator/__init__.py,sha256=5qPsu5ztoj0gkrioY0Yg0GTZ9JAn6SG2gAk-6DpuQ00,764
217
+ machineconfig/scripts/python/helpers_navigator/command_builder.py,sha256=59ipLYdkWvj_l1xqrC6rz2E2GNCP91BVBsX8vqTRnjQ,4618
218
+ machineconfig/scripts/python/helpers_navigator/command_detail.py,sha256=9cL2wVqa_vzgsSIYg-eVjeuac9f3aQJvrTl0T-SRAOU,1693
219
+ machineconfig/scripts/python/helpers_navigator/command_tree.py,sha256=IfIqLDh4EysSxvwCwKb-tArDWZhjnQJpDm9RRlLlz90,20216
220
+ machineconfig/scripts/python/helpers_navigator/data_models.py,sha256=62CIZ01rfCD2mKX_ihEVuhNzZ8FDnRSEIIQuyKOtmOg,533
221
+ machineconfig/scripts/python/helpers_navigator/main_app.py,sha256=R1vOBMUKaiFHOg0D4SzTcu48Wsc8lO0LKAzrZxCsCtg,8849
222
+ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wdm7YpDBtfhwcPnSqDPFrV2LqbcSBWMT4,414
223
+ machineconfig/scripts/python/helpers_repos/action.py,sha256=9AxWy8mB9HFeV5t11-qD_l-KA5jkUmm0pXVKT1L6-Qk,14894
224
+ machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
225
+ machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=CS9KOw_24taQ4UNG3qhTdk2of_2c9JbRKb6_LOO07jA,9989
226
+ machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
227
+ machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=cTNSFzdJFNb30i-LLivzXsiU3ykYoNUvNGiEizGqjQ8,607
228
+ machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
225
229
  machineconfig/scripts/python/helpers_repos/grource.py,sha256=oJj1-gqlkV3Z_BrIOXRmtzoXcuBl0xTYfulJ5D0srOc,14656
230
+ machineconfig/scripts/python/helpers_repos/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
226
231
  machineconfig/scripts/python/helpers_repos/secure_repo.py,sha256=fW_GyHqWrpnf7nexHojfWHv4eLBa71IhVL_LSVMyGnE,1115
232
+ machineconfig/scripts/python/helpers_repos/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
233
+ machineconfig/scripts/python/helpers_repos/update.py,sha256=cUIMUMm-50HrY6fzxSMZnFplhToVjVPZMm1j_otTha4,11060
234
+ machineconfig/scripts/python/helpers_sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
235
+ machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py,sha256=zLssrCT3WRReiK0AFwctELN_o_svKypagUwJj0nT6i4,3122
227
236
  machineconfig/scripts/python/nw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
237
  machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdCR90LwY6_9P7gKQzEE,9373
229
238
  machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
230
239
  machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
231
240
  machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
232
- machineconfig/scripts/python/nw/mount_nfs,sha256=7BTPAgsrO8z-vpeNt6ByH97EXhK6CFlmatkekowgboM,1855
241
+ machineconfig/scripts/python/nw/mount_nfs,sha256=qJquoVbdnsjBrQDsc5pMYDAW0pWBoL-ulCrABmbe-GI,1855
233
242
  machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
234
243
  machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
235
244
  machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
@@ -240,23 +249,13 @@ machineconfig/scripts/python/nw/ssh_debug_linux.py,sha256=VSFhyzYQeLIoSwsUFJFW1W
240
249
  machineconfig/scripts/python/nw/ssh_debug_windows.py,sha256=2prJs3PMsoAUu5LlZhHIKGVgqj7h6OviGEjAMJLJ7LI,29986
241
250
  machineconfig/scripts/python/nw/wifi_conn.py,sha256=4GdLhgma9GRmZ6OFg3oxOX-qY3sr45njPckozlpM_A0,15566
242
251
  machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=1ab9l-8MtAxofW5nGH9G2-BjlszaiLETu6WBECcNNhA,3546
243
- machineconfig/scripts/python/repos_helpers/action.py,sha256=M1Col8F4JEc20FCPSiELQ3PckbOL6i7YpxzfuAEtmSc,14894
244
- machineconfig/scripts/python/repos_helpers/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
245
- machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
246
- machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=dyPofy7TyphfmiR37u7AExgddlJvIQjBzhTcPUond9U,607
247
- machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=O6ges-eMnXroIi14PszUWGD1-ITP4T0x7hk060rFT1k,2810
248
- machineconfig/scripts/python/repos_helpers/record.py,sha256=FQo0swuJZOp0I2XGK-t1OQU4zJHmQ2z9zTpDD30Tmg4,11001
249
- machineconfig/scripts/python/repos_helpers/sync.py,sha256=CLLWy2n2gY9beXPF-mblOQ6R7cKoenkJjMiX7tHQsBk,3091
250
- machineconfig/scripts/python/repos_helpers/update.py,sha256=cUIMUMm-50HrY6fzxSMZnFplhToVjVPZMm1j_otTha4,11060
251
- machineconfig/scripts/python/sessions_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
- machineconfig/scripts/python/sessions_helpers/sessions_multiprocess.py,sha256=zLssrCT3WRReiK0AFwctELN_o_svKypagUwJj0nT6i4,3122
253
252
  machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
254
253
  machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
255
254
  machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
256
255
  machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
257
256
  machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
258
257
  machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
259
- machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=nIWqGB25lr2XxpZ5INjsXWELzdIMsVbiLz21Lzhxqig,322
258
+ machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=H68Y2i2OaeHrSvMGtO6yl8SjB9oiIGBMRvCsaiAGp_Y,322
260
259
  machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
261
260
  machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
262
261
  machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
@@ -372,7 +371,7 @@ machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKG
372
371
  machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
373
372
  machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
374
373
  machineconfig/setup_linux/web_shortcuts/android.sh,sha256=gzep6bBhK7FCBvGcXK0fdJCtkSfBOftt0aFyDZq_eMs,68
375
- machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=vpyg5Ffk2lbGsAEWWduuHYpWlV9NsieowWvzaqQ3cro,441
374
+ machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=p2Q5ywTvVoRgCnLySHF23Vj2E2QjQ5zUG1ExT5125uw,441
376
375
  machineconfig/setup_windows/__init__.py,sha256=NnSVZkIBoxoMgkj-_KAqGonH3YziBIWXOKDEcmNAGTY,386
377
376
  machineconfig/setup_windows/apps.ps1,sha256=dmZQZD4ZlNZo9jYkjIS3ag4qDAYZvaLysjmo9ELwBA4,11218
378
377
  machineconfig/setup_windows/uv.ps1,sha256=ukk1Abh-q-RfpoEqI2XTE2dcQJmHk0VFF6WqkK3TW8Q,350
@@ -382,7 +381,7 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
382
381
  machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
383
382
  machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
384
383
  machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
385
- machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=iMYoIWVRSMI2AThvBhAzm_7myLf4Sc00PSGKMDcgRxM,547
384
+ machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=6sBv9ovcAKvC9paKp6Y1erPSnvTq81bhyqhJra1Mq6M,547
386
385
  machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
387
386
  machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
388
387
  machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -391,16 +390,16 @@ machineconfig/utils/code.py,sha256=l3Z6mRW1EKStw-aKbuYYzTA5nqJ5XFvFFTsmNvMaNo0,7
391
390
  machineconfig/utils/installer.py,sha256=wNkX2r6dlZD9zmuIkBKj5AliNPfI9zVWgtu8XqgUVIg,10204
392
391
  machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
393
392
  machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
394
- machineconfig/utils/meta.py,sha256=fDn7cpq6iqAPzX2eKLSK9DZb0870rluR7eLDx5NgNaw,5994
393
+ machineconfig/utils/meta.py,sha256=GO30Z_NmeXyk_2yUpvnQD2Cg7KAbsZNVTLjKNFw8qpo,7039
395
394
  machineconfig/utils/notifications.py,sha256=tuXIudcip0tEioG-bm8BbLr3FMDve4f6BktlznBhKxM,9013
396
395
  machineconfig/utils/options.py,sha256=vUO4Kej-vDOv64wHr2HNDyu6PATURpjd7xp6N8OOoJg,7083
397
396
  machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
398
397
  machineconfig/utils/path_helper.py,sha256=0e3Xh3BAEv27oqcezNeVLHJllGmLEgLH4T1l90m-650,8014
399
- machineconfig/utils/procs.py,sha256=rw8LR8MjGgvtrpcgxb3hudq2B9fkkpYUXe9x5-FgHuc,10694
398
+ machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,10957
400
399
  machineconfig/utils/scheduler.py,sha256=-U6MbET_FLXxk6nGg6IWsuhZ6e_iF0mqvm6uQUrvS4Q,14739
401
400
  machineconfig/utils/scheduling.py,sha256=RF1iXJpqf4Dg18jdZWtBixz97KAHC6VKYqTFSpdLWuc,11188
402
401
  machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
403
- machineconfig/utils/ssh.py,sha256=-TYtFTKc03CkncLdHjnJtZodUOUyXK-uX-eWWiwnETI,39079
402
+ machineconfig/utils/ssh.py,sha256=OUhIq1jAf1Z9GHuKv8T9uwjGGaGxt2qkj0xQVyMrROs,39079
404
403
  machineconfig/utils/terminal.py,sha256=IlmOByfQG-vjhaFFxxzU5rWzP5_qUzmalRfuey3PAmc,11801
405
404
  machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
406
405
  machineconfig/utils/upgrade_packages.py,sha256=mSFyKvB3JhHte_x1dtmEgrJZCAXgTUQoaJUSx1OXQ3Y,4145
@@ -429,8 +428,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
429
428
  machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
430
429
  machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
431
430
  machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
432
- machineconfig-6.47.dist-info/METADATA,sha256=A1ZSAqZTXum3KMBDaJ_sTHMz5HUbJNsnZiWZmkHP4IY,2928
433
- machineconfig-6.47.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
434
- machineconfig-6.47.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
435
- machineconfig-6.47.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
436
- machineconfig-6.47.dist-info/RECORD,,
431
+ machineconfig-6.48.dist-info/METADATA,sha256=0eME7aiZwpdMWTZMqeop6jwywFcWifkyzmDbnJk6qJk,2928
432
+ machineconfig-6.48.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
433
+ machineconfig-6.48.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
434
+ machineconfig-6.48.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
435
+ machineconfig-6.48.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- """
2
- Helper modules for the devops navigator TUI application.
3
- """
4
-
5
- from machineconfig.scripts.python.helper_navigator.data_models import CommandInfo, ArgumentInfo
6
- from machineconfig.scripts.python.helper_navigator.command_builder import CommandBuilderScreen
7
- from machineconfig.scripts.python.helper_navigator.command_tree import CommandTree
8
- from machineconfig.scripts.python.helper_navigator.command_detail import CommandDetail
9
- from machineconfig.scripts.python.helper_navigator.search_bar import SearchBar
10
- from machineconfig.scripts.python.helper_navigator.main_app import CommandNavigatorApp
11
-
12
- __all__ = [
13
- "CommandInfo",
14
- "ArgumentInfo",
15
- "CommandBuilderScreen",
16
- "CommandTree",
17
- "CommandDetail",
18
- "SearchBar",
19
- "CommandNavigatorApp",
20
- ]
File without changes