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.
- machineconfig/cluster/sessions_managers/wt_local_manager.py +15 -6
- machineconfig/jobs/installer/custom_dev/winget.py +1 -0
- machineconfig/jobs/installer/installer_data.json +2403 -0
- machineconfig/jobs/installer/package_groups.py +154 -0
- machineconfig/scripts/python/devops.py +33 -42
- machineconfig/scripts/python/devops_devapps_install.py +87 -34
- machineconfig/scripts/python/fire_agents.py +49 -70
- machineconfig/scripts/python/fire_agents_help_launch.py +1 -8
- machineconfig/scripts/python/fire_agents_helper_types.py +12 -0
- machineconfig/scripts/python/fire_jobs.py +0 -6
- machineconfig/scripts/python/fire_jobs_args_helper.py +0 -1
- machineconfig/scripts/python/fire_jobs_layout_helper.py +100 -36
- machineconfig/scripts/python/interactive.py +10 -31
- machineconfig/scripts/python/repos.py +7 -6
- machineconfig/scripts/python/share_terminal.py +6 -4
- machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- machineconfig/utils/installer.py +15 -14
- machineconfig/utils/installer_utils/github_release_bulk.py +2 -12
- machineconfig/utils/installer_utils/installer_abc.py +56 -60
- machineconfig/utils/procs.py +0 -4
- machineconfig/utils/schemas/installer/installer_types.py +0 -1
- {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/METADATA +1 -1
- {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/RECORD +27 -30
- {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/entry_points.txt +0 -1
- machineconfig/jobs/installer/packages_custom_dev.json +0 -380
- machineconfig/jobs/installer/packages_custom_essential.json +0 -39
- machineconfig/jobs/installer/packages_github_dev.json +0 -1127
- machineconfig/jobs/installer/packages_github_essential.json +0 -787
- machineconfig/scripts/linux/fire_agents +0 -2
- machineconfig/scripts/linux/programs +0 -21
- {machineconfig-4.7.dist-info → machineconfig-4.9.dist-info}/WHEEL +0 -0
- {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,
|
|
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,
|
|
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,
|
|
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) ->
|
|
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[
|
|
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:
|