machineconfig 5.99__py3-none-any.whl → 6.21__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/scripts/python/cloud_helpers/cloud_copy.py +9 -9
- machineconfig/scripts/python/devops.py +1 -1
- machineconfig/scripts/python/helpers_fire/template.ps1 +9 -24
- machineconfig/scripts/python/helpers_fire/template.sh +6 -23
- machineconfig/scripts/python/repos_helpers/clone.py +2 -3
- machineconfig/scripts/python/sessions.py +2 -3
- machineconfig/utils/installer.py +1 -2
- machineconfig/utils/installer_utils/installer.py +37 -12
- {machineconfig-5.99.dist-info → machineconfig-6.21.dist-info}/METADATA +1 -1
- {machineconfig-5.99.dist-info → machineconfig-6.21.dist-info}/RECORD +13 -13
- {machineconfig-5.99.dist-info → machineconfig-6.21.dist-info}/WHEEL +0 -0
- {machineconfig-5.99.dist-info → machineconfig-6.21.dist-info}/entry_points.txt +0 -0
- {machineconfig-5.99.dist-info → machineconfig-6.21.dist-info}/top_level.txt +0 -0
|
@@ -65,16 +65,16 @@ def get_securely_shared_file(url: Optional[str] = None, folder: Optional[str] =
|
|
|
65
65
|
def main(
|
|
66
66
|
source: Annotated[str, typer.Argument(help="📂 file/folder path to be taken from here.")],
|
|
67
67
|
target: Annotated[str, typer.Argument(help="🎯 file/folder path to be be sent to here.")],
|
|
68
|
-
overwrite: Annotated[bool, typer.Option(help="✍️ Overwrite existing file.")] = ArgsDefaults.overwrite,
|
|
69
|
-
share: Annotated[bool, typer.Option(help="🔗 Share file / directory")] = ArgsDefaults.share,
|
|
70
|
-
rel2home: Annotated[bool, typer.Option(help="🏠 Relative to `myhome` folder")] = ArgsDefaults.rel2home,
|
|
71
|
-
root: Annotated[Optional[str], typer.Option(help="🌳 Remote root. None is the default, unless rel2home is raied, making the default `myhome`.")] = ArgsDefaults.root,
|
|
72
|
-
key: Annotated[Optional[str], typer.Option(help="🔑 Key for encryption")] = ArgsDefaults.key,
|
|
73
|
-
pwd: Annotated[Optional[str], typer.Option(help="🔒 Password for encryption")] = ArgsDefaults.pwd,
|
|
74
|
-
encrypt: Annotated[bool, typer.Option(help="🔐 Encrypt before sending.")] = ArgsDefaults.encrypt,
|
|
68
|
+
overwrite: Annotated[bool, typer.Option("--overwrite", "-o", help="✍️ Overwrite existing file.")] = ArgsDefaults.overwrite,
|
|
69
|
+
share: Annotated[bool, typer.Option("--share", "-s", help="🔗 Share file / directory")] = ArgsDefaults.share,
|
|
70
|
+
rel2home: Annotated[bool, typer.Option("--relative2home", "-r", help="🏠 Relative to `myhome` folder")] = ArgsDefaults.rel2home,
|
|
71
|
+
root: Annotated[Optional[str], typer.Option("--root", "-R", help="🌳 Remote root. None is the default, unless rel2home is raied, making the default `myhome`.")] = ArgsDefaults.root,
|
|
72
|
+
key: Annotated[Optional[str], typer.Option("--key", "-k", help="🔑 Key for encryption")] = ArgsDefaults.key,
|
|
73
|
+
pwd: Annotated[Optional[str], typer.Option("--password", "-p", help="🔒 Password for encryption")] = ArgsDefaults.pwd,
|
|
74
|
+
encrypt: Annotated[bool, typer.Option("--encrypt", "-e", help="🔐 Encrypt before sending.")] = ArgsDefaults.encrypt,
|
|
75
75
|
zip_: Annotated[bool, typer.Option("--zip", "-z", help="📦 unzip after receiving.")] = ArgsDefaults.zip_,
|
|
76
|
-
os_specific: Annotated[bool, typer.Option(help="💻 choose path specific for this OS.")] = ArgsDefaults.os_specific,
|
|
77
|
-
config: Annotated[Optional[str], typer.Option(help="⚙️ path to cloud.json file.")] = None,
|
|
76
|
+
os_specific: Annotated[bool, typer.Option("--os-specific", "-O", help="💻 choose path specific for this OS.")] = ArgsDefaults.os_specific,
|
|
77
|
+
config: Annotated[Optional[str], typer.Option("--config", "-c", help="⚙️ path to cloud.json file.")] = None,
|
|
78
78
|
) -> None:
|
|
79
79
|
"""📤 Upload or 📥 Download files/folders to/from cloud storage services like Google Drive, Dropbox, OneDrive, etc."""
|
|
80
80
|
console.print(Panel("☁️ Cloud Copy Utility", title="[bold blue]Cloud Copy[/bold blue]", border_style="blue", width=152))
|
|
@@ -10,7 +10,7 @@ import machineconfig.scripts.python.devops_helpers.cli_data as cli_data
|
|
|
10
10
|
import machineconfig.scripts.python.devops_helpers.cli_nw as cli_network
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def install(which: Annotated[Optional[str], typer.Argument(..., help="Comma-separated list of program names to install, or group name if --group flag is set.")],
|
|
13
|
+
def install(which: Annotated[Optional[str], typer.Argument(..., help="Comma-separated list of program names to install, or group name if --group flag is set.")] = None,
|
|
14
14
|
group: Annotated[bool, typer.Option(..., "--group", "-g", help="Treat 'which' as a group name. A group is bundle of apps.")] = False,
|
|
15
15
|
interactive: Annotated[bool, typer.Option(..., "--interactive", "-ia", help="Interactive selection of programs to install.")] = False,
|
|
16
16
|
) -> None:
|
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Set error action preference to stop on error, like set -e
|
|
2
|
+
$ErrorActionPreference = "Stop"
|
|
2
3
|
|
|
3
4
|
$JOB_NAME = "outpatient_mapping"
|
|
4
|
-
$REPO_ROOT = "$HOME/code/
|
|
5
|
-
$CONTEXT_PATH = "$REPO_ROOT/
|
|
6
|
-
$PROMPT_PATH = "$REPO_ROOT/
|
|
7
|
-
|
|
5
|
+
$REPO_ROOT = "$HOME/code/work/winter_planning/"
|
|
6
|
+
$CONTEXT_PATH = "$REPO_ROOT/data/outpatient_mapping/op_services.csv"
|
|
7
|
+
$PROMPT_PATH = "$REPO_ROOT/data/outpatient_mapping/prompt"
|
|
8
8
|
$AGENTS_DIR = "$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
9
|
-
$LAYOUT_PATH_UNBALANCED = "$REPO_ROOT/.ai/agents/$JOB_NAME/layout_unbalanced.json"
|
|
10
|
-
|
|
11
|
-
agents create `
|
|
12
|
-
--context-path "$CONTEXT_PATH" `
|
|
13
|
-
--tasks-per-prompt 1 `
|
|
14
|
-
--machine docker `
|
|
15
|
-
--agent crush `
|
|
16
|
-
--model "zai/glm-4.6" `
|
|
17
|
-
--provider openrouter `
|
|
18
|
-
--separator 'def ' `
|
|
19
|
-
--prompt-path "$PROMPT_PATH" `
|
|
20
|
-
--output-path "$LAYOUT_PATH_UNBALANCED" `
|
|
21
|
-
--agents-dir "$AGENTS_DIR"
|
|
22
|
-
|
|
23
|
-
# $LAYOUT_BALANCED_PATH = "$REPO_ROOT/.ai/agents/$JOB_NAME/layout_balanced.json"
|
|
24
|
-
# sessions balance-load $LAYOUT_PATH --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path $LAYOUT_BALANCED_PATH
|
|
25
|
-
# sessions run $LAYOUT_BALANCED_PATH --kill-upon-completion
|
|
26
9
|
|
|
27
|
-
|
|
10
|
+
agents create --agents crush --host docker --model x-ai/grok-4-fast:free --provider openrouter --context-path $CONTEXT_PATH --prompt-path $PROMPT_PATH --job-name $JOB_NAME --agents-dir $AGENTS_DIR
|
|
11
|
+
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
12
|
+
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
28
13
|
|
|
29
|
-
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
14
|
+
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
@@ -3,30 +3,13 @@
|
|
|
3
3
|
# set -e # Exit immediately if a command exits with a non-zero status.
|
|
4
4
|
|
|
5
5
|
JOB_NAME="outpatient_mapping"
|
|
6
|
-
REPO_ROOT="$HOME/code/
|
|
7
|
-
CONTEXT_PATH="$REPO_ROOT/
|
|
8
|
-
PROMPT_PATH="$REPO_ROOT/
|
|
9
|
-
|
|
6
|
+
REPO_ROOT="$HOME/code/work/winter_planning/"
|
|
7
|
+
CONTEXT_PATH="$REPO_ROOT/data/outpatient_mapping/op_services.csv"
|
|
8
|
+
PROMPT_PATH="$REPO_ROOT/data/outpatient_mapping/prompt"
|
|
10
9
|
AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
ag create \
|
|
15
|
-
--context-path "$CONTEXT_PATH" \
|
|
16
|
-
--tasks-per-prompt 1 \
|
|
17
|
-
--machine docker \
|
|
18
|
-
--agent crush \
|
|
19
|
-
--model "zai/glm-4.6" \
|
|
20
|
-
--provider openrouter \
|
|
21
|
-
--separator 'def ' \
|
|
22
|
-
--prompt-path "$PROMPT_PATH" \
|
|
23
|
-
--output-path "$LAYOUT_PATH_UNBALANCED" \
|
|
24
|
-
--agents-dir "$AGENTS_DIR"
|
|
25
|
-
|
|
26
|
-
# LAYOUT_BALANCED_PATH="$REPO_ROOT/.ai/agents/$JOB_NAME/layout_balanced.json"
|
|
27
|
-
# sessions balance-load $LAYOUT_PATH --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path $LAYOUT_BALANCED_PATH
|
|
28
|
-
# sessions run $LAYOUT_BALANCED_PATH --kill-upon-completion
|
|
10
|
+
agents create --agents crush --host docker --model x-ai/grok-4-fast:free --provider openrouter --context-path $CONTEXT_PATH --prompt-path $PROMPT_PATH --job-name $JOB_NAME --agents-dir $AGENTS_DIR
|
|
11
|
+
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
12
|
+
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
29
13
|
|
|
30
|
-
ses run $LAYOUT_PATH_UNBALANCED
|
|
31
14
|
|
|
32
15
|
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|
|
@@ -8,7 +8,7 @@ from git.exc import GitCommandError
|
|
|
8
8
|
from rich import print as pprint
|
|
9
9
|
from rich.progress import BarColumn, MofNCompleteColumn, Progress, SpinnerColumn, TextColumn, TimeElapsedColumn
|
|
10
10
|
|
|
11
|
-
from machineconfig.utils.schemas.repos.repos_types import RepoRecordDict,
|
|
11
|
+
from machineconfig.utils.schemas.repos.repos_types import RepoRecordDict, RepoRemote
|
|
12
12
|
from machineconfig.utils.io import read_json
|
|
13
13
|
|
|
14
14
|
|
|
@@ -95,8 +95,7 @@ def clone_single_repo(repo_spec: RepoRecordDict, preferred_remote: Optional[str]
|
|
|
95
95
|
|
|
96
96
|
|
|
97
97
|
def clone_repos(spec_path: Path, preferred_remote: Optional[str], checkout_branch_flag: bool, checkout_commit_flag: bool) -> list[tuple[CloneStatus, str]]:
|
|
98
|
-
|
|
99
|
-
repos = data["repos"]
|
|
98
|
+
repos = cast(list[RepoRecordDict], read_json(path=spec_path))
|
|
100
99
|
results: list[tuple[CloneStatus, str]] = []
|
|
101
100
|
with Progress(SpinnerColumn(), TextColumn("[progress.description]{task.description}"), BarColumn(), MofNCompleteColumn(), TimeElapsedColumn()) as progress:
|
|
102
101
|
task_id = progress.add_task("Processing repositories...", total=len(repos))
|
|
@@ -71,7 +71,7 @@ def find_layout_file(layout_path: str, ) -> Path:
|
|
|
71
71
|
def run(ctx: typer.Context,
|
|
72
72
|
layout_path: Annotated[Optional[str], typer.Argument(..., help="Path to the layout.json file")] = None,
|
|
73
73
|
max_tabs: Annotated[int, typer.Option(..., help="A Sanity checker that throws an error if any layout exceeds the maximum number of tabs to launch.")] = 10,
|
|
74
|
-
max_layouts: Annotated[int, typer.Option(..., help="A Sanity checker that throws an error if the total number of layouts exceeds this number.")] = 10,
|
|
74
|
+
max_layouts: Annotated[int, typer.Option(..., help="A Sanity checker that throws an error if the total number of *parallel layouts exceeds this number.")] = 10,
|
|
75
75
|
sleep_inbetween: Annotated[float, typer.Option(..., help="Sleep time in seconds between launching layouts")] = 1.0,
|
|
76
76
|
monitor: Annotated[bool, typer.Option(..., "--monitor", "-m", help="Monitor the layout sessions for completion")] = False,
|
|
77
77
|
parallel: Annotated[bool, typer.Option(..., "--parallel", "-p", help="Launch multiple layouts in parallel")] = False,
|
|
@@ -89,7 +89,7 @@ def run(ctx: typer.Context,
|
|
|
89
89
|
layouts_selected = select_layout(layouts_json_file=layout_path_resolved, selected_layouts_names=choose.split(",") if choose else None, select_interactively=choose_interactively)
|
|
90
90
|
|
|
91
91
|
# ============= Basic sanity checks =============
|
|
92
|
-
if len(layouts_selected) > max_layouts:
|
|
92
|
+
if parallel and len(layouts_selected) > max_layouts:
|
|
93
93
|
raise ValueError(f"Number of layouts {len(layouts_selected)} exceeds the maximum allowed {max_layouts}. Please adjust your layout file.")
|
|
94
94
|
for a_layout in layouts_selected:
|
|
95
95
|
if len(a_layout["layoutTabs"]) > max_tabs:
|
|
@@ -98,7 +98,6 @@ def run(ctx: typer.Context,
|
|
|
98
98
|
if not confirm:
|
|
99
99
|
typer.echo("Aborting launch.")
|
|
100
100
|
raise typer.Exit(0)
|
|
101
|
-
|
|
102
101
|
import time
|
|
103
102
|
import platform
|
|
104
103
|
if platform.system() == "Linux" or platform.system() == "Darwin":
|
machineconfig/utils/installer.py
CHANGED
|
@@ -125,10 +125,9 @@ def get_all_installer_data_files() -> list[InstallerData]:
|
|
|
125
125
|
return res_final
|
|
126
126
|
|
|
127
127
|
|
|
128
|
-
def
|
|
128
|
+
def dynamically_extract_installers_system_groups_from_scripts():
|
|
129
129
|
res_final: list[InstallerData] = []
|
|
130
130
|
from platform import system
|
|
131
|
-
|
|
132
131
|
if system() == "Windows":
|
|
133
132
|
options_system = parse_apps_installer_windows(LIBRARY_ROOT.joinpath("setup_windows/apps.ps1").read_text(encoding="utf-8"))
|
|
134
133
|
elif system() == "Linux" or system() == "Darwin":
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Devops Devapps Install"""
|
|
2
2
|
|
|
3
|
-
from machineconfig.utils.installer import
|
|
3
|
+
from machineconfig.utils.installer import dynamically_extract_installers_system_groups_from_scripts
|
|
4
4
|
import typer
|
|
5
5
|
from rich.console import Console
|
|
6
6
|
from rich.panel import Panel
|
|
@@ -68,6 +68,26 @@ def main(
|
|
|
68
68
|
return install_group(package_group=a_group)
|
|
69
69
|
else:
|
|
70
70
|
return install_clis(clis_names=[x.strip() for x in which.split(",") if x.strip() != ""])
|
|
71
|
+
else:
|
|
72
|
+
if group:
|
|
73
|
+
typer.echo("❌ You must provide a group name when using the --group/-g option.")
|
|
74
|
+
res = get_static_groups_combined_with_dynamic_groups_extracted()
|
|
75
|
+
console.print("[bold blue]Here are the available groups:[/bold blue]")
|
|
76
|
+
table = Table(show_header=True, header_style="bold magenta")
|
|
77
|
+
table.add_column("Group", style="cyan", no_wrap=True)
|
|
78
|
+
table.add_column("AppsBundled", style="green", overflow="fold")
|
|
79
|
+
for display, group_name in res.items():
|
|
80
|
+
# Parse display
|
|
81
|
+
if " -- " in display:
|
|
82
|
+
group_part, items_part = display.split(" -- ", 1)
|
|
83
|
+
group_name_parsed = group_part.replace("📦 ", "").strip()
|
|
84
|
+
items_str = items_part.strip()
|
|
85
|
+
else:
|
|
86
|
+
group_name_parsed = display
|
|
87
|
+
items_str = group_name
|
|
88
|
+
table.add_row(group_name_parsed, items_str)
|
|
89
|
+
console.print(table)
|
|
90
|
+
raise typer.Exit(1)
|
|
71
91
|
typer.echo("❌ You must provide either a program name/group name, or use --interactive/-ia option.")
|
|
72
92
|
import click
|
|
73
93
|
ctx = click.get_current_context()
|
|
@@ -75,6 +95,19 @@ def main(
|
|
|
75
95
|
raise typer.Exit(1)
|
|
76
96
|
|
|
77
97
|
|
|
98
|
+
def get_static_groups_combined_with_dynamic_groups_extracted():
|
|
99
|
+
# Build category options and maintain a mapping from display text to actual category name
|
|
100
|
+
category_display_to_name: dict[str, str] = {}
|
|
101
|
+
for group_name, group_values in PACKAGE_GROUP2NAMES.items():
|
|
102
|
+
display = f"📦 {group_name:<20}" + " -- " + f"{'|'.join(group_values):<60}"
|
|
103
|
+
category_display_to_name[display] = group_name
|
|
104
|
+
options_system = dynamically_extract_installers_system_groups_from_scripts()
|
|
105
|
+
for item in options_system:
|
|
106
|
+
display = f"📦 {item['appName']:<20} -- {item['doc']:<60}"
|
|
107
|
+
category_display_to_name[display] = item['appName']
|
|
108
|
+
return category_display_to_name
|
|
109
|
+
|
|
110
|
+
|
|
78
111
|
def install_interactively():
|
|
79
112
|
from machineconfig.utils.options import choose_from_options
|
|
80
113
|
from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
|
|
@@ -84,16 +117,8 @@ def install_interactively():
|
|
|
84
117
|
installer_options = []
|
|
85
118
|
for x in installers:
|
|
86
119
|
installer_options.append(Installer(installer_data=x).get_description())
|
|
87
|
-
|
|
88
|
-
category_display_to_name
|
|
89
|
-
for group_name, group_values in PACKAGE_GROUP2NAMES.items():
|
|
90
|
-
display = f"📦 {group_name:<20}" + " -- " + f"{'|'.join(group_values):<60}"
|
|
91
|
-
category_display_to_name[display] = group_name
|
|
92
|
-
options_system = get_installers_system_groups()
|
|
93
|
-
for item in options_system:
|
|
94
|
-
display = f"📦 {item['appName']:<20} -- {item['doc']:<60}"
|
|
95
|
-
category_display_to_name[display] = item['appName']
|
|
96
|
-
|
|
120
|
+
|
|
121
|
+
category_display_to_name = get_static_groups_combined_with_dynamic_groups_extracted()
|
|
97
122
|
options = list(category_display_to_name.keys()) + ["─" * 50] + installer_options
|
|
98
123
|
program_names = choose_from_options(multi=True, msg="Categories are prefixed with 📦", options=options, header="🚀 CHOOSE DEV APP OR CATEGORY", default="📦 essentials", fzf=True)
|
|
99
124
|
installation_messages: list[str] = []
|
|
@@ -123,7 +148,7 @@ def install_group(package_group: str):
|
|
|
123
148
|
installers_ = get_installers(os=get_os_name(), arch=get_normalized_arch(), which_cats=[package_group])
|
|
124
149
|
install_bulk(installers_data=installers_)
|
|
125
150
|
else:
|
|
126
|
-
options_system =
|
|
151
|
+
options_system = dynamically_extract_installers_system_groups_from_scripts()
|
|
127
152
|
from machineconfig.utils.schemas.installer.installer_types import get_normalized_arch, get_os_name
|
|
128
153
|
from machineconfig.utils.code import run_shell_script
|
|
129
154
|
for an_item in options_system:
|
|
@@ -122,13 +122,13 @@ machineconfig/scripts/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
122
122
|
machineconfig/scripts/python/agents.py,sha256=f5UxgXjGlEypoNFqK0uHKO0UkbV_wUmPiPzotL2yapM,10677
|
|
123
123
|
machineconfig/scripts/python/cloud.py,sha256=ubLmf06FSdi1NawpQDgUDAtYb9cZSQqHbSUHzAwRIas,1199
|
|
124
124
|
machineconfig/scripts/python/croshell.py,sha256=0Ym3n-ZmIpaOX_SWnGP88dq_iH7QWJKUZvY0x58sXjI,7083
|
|
125
|
-
machineconfig/scripts/python/devops.py,sha256=
|
|
125
|
+
machineconfig/scripts/python/devops.py,sha256=NS4zbOGm8uRNxmtWuH4vBAajrbZj014FpZrpZTYXS1Y,2159
|
|
126
126
|
machineconfig/scripts/python/devops_navigator.py,sha256=4O9_-ACeP748NcMjWQXZF7mBQpMPxqCGhLvPG3DMi4Q,236
|
|
127
127
|
machineconfig/scripts/python/entry.py,sha256=Az7dK1eXHGW5l46Yg10Cd88VChCdhvLAzO3e1A3r56A,2176
|
|
128
128
|
machineconfig/scripts/python/fire_jobs.py,sha256=O5DrckUGLxGblOcLf_iXU31pmCSpTg-c0hQZxQKD1os,13591
|
|
129
129
|
machineconfig/scripts/python/ftpx.py,sha256=UBDP6IIfWkaML1uZT1FrfGUUy_Of5LI82IdqEzo05_U,9760
|
|
130
130
|
machineconfig/scripts/python/interactive.py,sha256=8HbT9OaZ3lhoIYghIkeE6bI5TZ0RPlL0LwEszK6oPNw,11790
|
|
131
|
-
machineconfig/scripts/python/sessions.py,sha256=
|
|
131
|
+
machineconfig/scripts/python/sessions.py,sha256=l0NhO8kLtpDHdvNTlZ-Stt0VqARZqKUqiJlKvGIqCC0,9778
|
|
132
132
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
133
133
|
machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
|
|
134
134
|
machineconfig/scripts/python/ai/initai.py,sha256=9SZtWOcRuwk8ZU3wHOfPzjInERD79ZTYFY8tVACgza4,2260
|
|
@@ -160,7 +160,7 @@ machineconfig/scripts/python/ai/solutions/kilocode/privacy.md,sha256=oKOXnfFOdUu
|
|
|
160
160
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1dNzkUCS_vCX_fy2TisRtfg8DXH-D4N1iUVU,99
|
|
161
161
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
162
162
|
machineconfig/scripts/python/cloud_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
163
|
-
machineconfig/scripts/python/cloud_helpers/cloud_copy.py,sha256=
|
|
163
|
+
machineconfig/scripts/python/cloud_helpers/cloud_copy.py,sha256=qh96_QWxsaRPpgLDZaMPIUyHfkr1dTMb2bwvalY_kiA,8691
|
|
164
164
|
machineconfig/scripts/python/cloud_helpers/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
|
|
165
165
|
machineconfig/scripts/python/cloud_helpers/cloud_mount.py,sha256=DEZHwOgFcAVoI-NrBflFLbAjijOYZYq_D5M8xJQdtSQ,6487
|
|
166
166
|
machineconfig/scripts/python/cloud_helpers/cloud_sync.py,sha256=-xRPOF2S4_Q5QoNOmp_lJ_wWGNyeztEjn0o57V31ZjI,3447
|
|
@@ -204,8 +204,8 @@ machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=TUz
|
|
|
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
|
|
207
|
-
machineconfig/scripts/python/helpers_fire/template.ps1,sha256=
|
|
208
|
-
machineconfig/scripts/python/helpers_fire/template.sh,sha256=
|
|
207
|
+
machineconfig/scripts/python/helpers_fire/template.ps1,sha256=9F7h9NMIJisunMIii2wETpgonQmiGLHLHfWg9k_QWKo,859
|
|
208
|
+
machineconfig/scripts/python/helpers_fire/template.sh,sha256=rOND8s0-MuymFMn6lUspa0SkDikQkKlnJRl2Kyo57Ho,837
|
|
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
211
|
machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py,sha256=NRcnjVu4-_6UqWdeRH4A2g79QIAOwnqVtiqOwn7qzlE,1614
|
|
@@ -238,7 +238,7 @@ machineconfig/scripts/python/nw/ssh_debug_windows.py,sha256=2prJs3PMsoAUu5LlZhHI
|
|
|
238
238
|
machineconfig/scripts/python/nw/wifi_conn.py,sha256=4GdLhgma9GRmZ6OFg3oxOX-qY3sr45njPckozlpM_A0,15566
|
|
239
239
|
machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=1ab9l-8MtAxofW5nGH9G2-BjlszaiLETu6WBECcNNhA,3546
|
|
240
240
|
machineconfig/scripts/python/repos_helpers/action.py,sha256=pl0U53FAGoH2yk-CGNIy3aggImXY5ZVz28-XVFHDvfA,14862
|
|
241
|
-
machineconfig/scripts/python/repos_helpers/clone.py,sha256=
|
|
241
|
+
machineconfig/scripts/python/repos_helpers/clone.py,sha256=5Dm6xWFWl6BZlx-l6fRbYYNsIktLntG090D7NM2Hs0M,5426
|
|
242
242
|
machineconfig/scripts/python/repos_helpers/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
243
243
|
machineconfig/scripts/python/repos_helpers/count_lines_frontend.py,sha256=KkkecMNXssfwBK9nLEXZgilq_DME1ah325MTRV6-z2c,607
|
|
244
244
|
machineconfig/scripts/python/repos_helpers/entrypoint.py,sha256=UagEar85QCAXX7oOqJjDJp2Vds5UQxehYPmckL_S0oI,2836
|
|
@@ -384,7 +384,7 @@ machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6
|
|
|
384
384
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
385
385
|
machineconfig/utils/accessories.py,sha256=W_9dLzjwNTW5JQk_pe3B2ijQ1nA2-8Kdg2r7VBtzgQs,4340
|
|
386
386
|
machineconfig/utils/code.py,sha256=f0K5abTIBBurK5pSM_VRtW_npFjK18UvIG_BEyzOv40,8912
|
|
387
|
-
machineconfig/utils/installer.py,sha256=
|
|
387
|
+
machineconfig/utils/installer.py,sha256=puFcMe-oNAeqTW0jz1NAEil8HRtxY4B6Z0VAeq_jH-o,10493
|
|
388
388
|
machineconfig/utils/io.py,sha256=rzEwAnq-gyT29Y4CDHHGxAA6ddIIFOCxrqZ6dn0ALa4,2255
|
|
389
389
|
machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
|
|
390
390
|
machineconfig/utils/meta.py,sha256=fDn7cpq6iqAPzX2eKLSK9DZb0870rluR7eLDx5NgNaw,5994
|
|
@@ -413,7 +413,7 @@ machineconfig/utils/files/ouch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
413
413
|
machineconfig/utils/files/ouch/decompress.py,sha256=7qPaEkMerBBXzeZyFn8hLODHZJv1aty-yGgwBxLgVys,1413
|
|
414
414
|
machineconfig/utils/installer_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
415
415
|
machineconfig/utils/installer_utils/github_release_bulk.py,sha256=WJf_qZlF02SmIc6C7o1h4Gy4gAaJAfeAS8O9s2Itj-k,6535
|
|
416
|
-
machineconfig/utils/installer_utils/installer.py,sha256=
|
|
416
|
+
machineconfig/utils/installer_utils/installer.py,sha256=aqoAUv2gQoiIrg9ErxLh_kZWyFk3dOL4HEVxXEyAmW4,11178
|
|
417
417
|
machineconfig/utils/installer_utils/installer_abc.py,sha256=ZoMtINHD9cHEu4R5SYUWgHLTAqo4F2a33pBrEOGX4zs,11693
|
|
418
418
|
machineconfig/utils/installer_utils/installer_class.py,sha256=apLMLmpZfHbj4I5ttgwg0ZIp66B5vx2nPtuhEobGdWM,17186
|
|
419
419
|
machineconfig/utils/schemas/fire_agents/fire_agents_input.py,sha256=Xbi59rU35AzR7HZZ8ZQ8aUu_FjSgijNqc8Sme0rCk2Y,2050
|
|
@@ -421,8 +421,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
421
421
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
422
422
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
423
423
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
424
|
-
machineconfig-
|
|
425
|
-
machineconfig-
|
|
426
|
-
machineconfig-
|
|
427
|
-
machineconfig-
|
|
428
|
-
machineconfig-
|
|
424
|
+
machineconfig-6.21.dist-info/METADATA,sha256=tzjcaDIUa8tGua1LDhs9QcjHaMv40D2_UC5IIQA6g_Q,3012
|
|
425
|
+
machineconfig-6.21.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
426
|
+
machineconfig-6.21.dist-info/entry_points.txt,sha256=M0jwN_brZdXWhmNVeXLvdKxfkv8WhhXFZYcuKBA9qnk,418
|
|
427
|
+
machineconfig-6.21.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
428
|
+
machineconfig-6.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|