machineconfig 4.7__py3-none-any.whl → 4.9__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 (33) hide show
  1. machineconfig/cluster/sessions_managers/wt_local_manager.py +15 -6
  2. machineconfig/jobs/installer/custom_dev/winget.py +1 -0
  3. machineconfig/jobs/installer/installer_data.json +2403 -0
  4. machineconfig/jobs/installer/package_groups.py +154 -0
  5. machineconfig/scripts/python/devops.py +33 -42
  6. machineconfig/scripts/python/devops_devapps_install.py +87 -34
  7. machineconfig/scripts/python/fire_agents.py +49 -70
  8. machineconfig/scripts/python/fire_agents_help_launch.py +1 -8
  9. machineconfig/scripts/python/fire_agents_helper_types.py +12 -0
  10. machineconfig/scripts/python/fire_jobs.py +0 -6
  11. machineconfig/scripts/python/fire_jobs_args_helper.py +0 -1
  12. machineconfig/scripts/python/fire_jobs_layout_helper.py +100 -36
  13. machineconfig/scripts/python/interactive.py +10 -31
  14. machineconfig/scripts/python/repos.py +7 -6
  15. machineconfig/scripts/python/share_terminal.py +6 -4
  16. machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
  17. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
  18. machineconfig/utils/installer.py +15 -14
  19. machineconfig/utils/installer_utils/github_release_bulk.py +2 -12
  20. machineconfig/utils/installer_utils/installer_abc.py +56 -60
  21. machineconfig/utils/procs.py +0 -4
  22. machineconfig/utils/schemas/installer/installer_types.py +0 -1
  23. {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/METADATA +1 -1
  24. {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/RECORD +27 -30
  25. {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/entry_points.txt +0 -1
  26. machineconfig/jobs/installer/packages_custom_dev.json +0 -380
  27. machineconfig/jobs/installer/packages_custom_essential.json +0 -39
  28. machineconfig/jobs/installer/packages_github_dev.json +0 -1127
  29. machineconfig/jobs/installer/packages_github_essential.json +0 -787
  30. machineconfig/scripts/linux/fire_agents +0 -2
  31. machineconfig/scripts/linux/programs +0 -21
  32. {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/WHEEL +0 -0
  33. {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/top_level.txt +0 -0
@@ -5,10 +5,19 @@ import uuid
5
5
  import logging
6
6
  import subprocess
7
7
  from pathlib import Path
8
- from typing import Optional, Dict, List, Any
8
+ from typing import TypedDict, Optional, Dict, List, Any
9
9
  from machineconfig.utils.scheduler import Scheduler
10
10
  from machineconfig.cluster.sessions_managers.wt_local import WTLayoutGenerator
11
11
  from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
12
+ from machineconfig.cluster.sessions_managers.zellij_utils.monitoring_types import (
13
+ StartResult, GlobalSummary, ActiveSessionInfo, CommandStatus, CommandSummary
14
+ )
15
+
16
+
17
+ class WTSessionReport(TypedDict):
18
+ session_status: Dict[str, Any] # WT-specific session status
19
+ commands_status: Dict[str, CommandStatus]
20
+ summary: CommandSummary
12
21
 
13
22
  logging.basicConfig(level=logging.INFO)
14
23
  logger = logging.getLogger(__name__)
@@ -44,7 +53,7 @@ class WTLocalManager:
44
53
  """Get all managed session names."""
45
54
  return [manager.session_name for manager in self.managers if manager.session_name is not None]
46
55
 
47
- def start_all_sessions(self) -> Dict[str, Any]:
56
+ def start_all_sessions(self) -> Dict[str, StartResult]:
48
57
  """Start all Windows Terminal sessions with their layouts."""
49
58
  results = {}
50
59
  for manager in self.managers:
@@ -75,7 +84,7 @@ class WTLocalManager:
75
84
 
76
85
  return results
77
86
 
78
- def kill_all_sessions(self) -> Dict[str, Any]:
87
+ def kill_all_sessions(self) -> Dict[str, StartResult]:
79
88
  """Kill all managed Windows Terminal sessions."""
80
89
  results = {}
81
90
  for manager in self.managers:
@@ -119,7 +128,7 @@ class WTLocalManager:
119
128
  commands.append("")
120
129
  return "\n".join(commands)
121
130
 
122
- def check_all_sessions_status(self) -> Dict[str, Dict[str, Any]]:
131
+ def check_all_sessions_status(self) -> Dict[str, WTSessionReport]:
123
132
  """Check the status of all sessions and their commands."""
124
133
  status_report = {}
125
134
 
@@ -144,7 +153,7 @@ class WTLocalManager:
144
153
 
145
154
  return status_report
146
155
 
147
- def get_global_summary(self) -> Dict[str, Any]:
156
+ def get_global_summary(self) -> GlobalSummary:
148
157
  """Get a global summary across all sessions."""
149
158
  all_status = self.check_all_sessions_status()
150
159
 
@@ -395,7 +404,7 @@ class WTLocalManager:
395
404
  logger.error(f"Failed to delete session {session_id}: {e}")
396
405
  return False
397
406
 
398
- def list_active_sessions(self) -> List[Dict[str, Any]]:
407
+ def list_active_sessions(self) -> List[ActiveSessionInfo]:
399
408
  """List currently active Windows Terminal sessions managed by this instance."""
400
409
  active_sessions = []
401
410
 
@@ -6,6 +6,7 @@ from typing import Optional
6
6
 
7
7
 
8
8
  # config_dict: InstallerData = {"appName": "winget", "repoURL": "CMD", "doc": "winget installer"}
9
+ # on older windows, use this to get winget for first time: Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe as per https://learn.microsoft.com/en-us/windows/package-manager/winget/
9
10
 
10
11
 
11
12
  def is_winget_available() -> bool: