stackops 26.6.7__tar.gz → 26.7.1__tar.gz
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.
- stackops-26.7.1/PKG-INFO +144 -0
- stackops-26.7.1/pyproject.toml +166 -0
- stackops-26.7.1/src/stackops/jobs/installer/checks/install_utils.py +160 -0
- stackops-26.7.1/src/stackops/jobs/installer/linux_scripts/__init__.py +4 -0
- stackops-26.7.1/src/stackops/jobs/installer/linux_scripts/ngrok.sh +6 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/brave.py +117 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +84 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/code.py +117 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/docker.py +192 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/espanso.py +145 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/oz.py +88 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/redis.py +119 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/rmpc.py +481 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/sysabc.py +166 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/termusic.py +310 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/wezterm.py +115 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/youtube_tui.py +259 -0
- stackops-26.7.1/src/stackops/jobs/installer/python_scripts/ytui_music.py +370 -0
- stackops-26.7.1/src/stackops/scripts/python/agents.py +441 -0
- stackops-26.7.1/src/stackops/scripts/python/agents_iter.py +136 -0
- stackops-26.7.1/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +92 -0
- stackops-26.7.1/src/stackops/scripts/python/ai_account.py +157 -0
- stackops-26.7.1/src/stackops/scripts/python/cloud.py +144 -0
- stackops-26.7.1/src/stackops/scripts/python/devops.py +211 -0
- stackops-26.7.1/src/stackops/scripts/python/graph/cli_graph.json +22171 -0
- stackops-26.7.1/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +20 -0
- stackops-26.7.1/src/stackops/scripts/python/graph/visualize/plotly_browser.py +185 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_agentops_cache.py +187 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_impl.py +157 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_constants.py +7 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_herdr.py +241 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_models.py +171 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_plan.py +245 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_render.py +200 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_rich_output.py +119 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_service.py +267 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_agents/agents_plan_impl.py +148 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/agy.py +12 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/auggie.py +20 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/claude.py +35 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/cline.py +74 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/codex.py +67 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/constants.py +6 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/copilot.py +15 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/crush.py +40 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/cursor_agent.py +59 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/droid.py +18 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/forge.py +27 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/json_values.py +46 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/kilocode.py +25 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/models.py +51 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/opencode.py +25 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/oz.py +15 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/pi.py +31 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/profiles.py +91 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/q.py +39 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/qwen.py +32 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account/registry.py +74 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +315 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +110 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/backup_selection.py +50 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +374 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy_artifacts.py +175 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +91 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +85 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +310 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +308 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +372 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +310 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +314 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_data_subset.py +183 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_data_subset_io.py +86 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +235 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_device_cloudflare.py +139 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_interactive_picker.py +83 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +162 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +253 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +222 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cli_subset_support.py +21 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cloudflare_tunnel_config.py +84 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cloudflare_tunnel_maintenance.py +183 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/cloudflare_tunnel_runtime.py +159 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +244 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +322 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +227 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +250 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +387 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +73 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +165 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +322 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_repos/grource.py +340 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +316 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +136 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_aoe.py +371 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_herdr.py +478 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_kill.py +141 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_models.py +91 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_runner.py +170 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_selection.py +88 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +150 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +169 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace_render.py +222 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +231 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +56 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_deps.py +156 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_maintenance.py +115 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps.py +177 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_graph.py +114 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_models.py +51 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_parse.py +92 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render.py +156 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_css.py +122 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_graph_css.py +118 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js.py +26 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_bootstrap.py +52 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_interaction.py +150 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_layout.py +59 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_shared.py +36 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_svg.py +111 -0
- stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_runner.py +75 -0
- stackops-26.7.1/src/stackops/scripts/python/preview.py +108 -0
- stackops-26.7.1/src/stackops/scripts/python/stackops_entry.py +154 -0
- stackops-26.7.1/src/stackops/scripts/python/terminal.py +430 -0
- stackops-26.7.1/src/stackops/scripts/python/utils.py +64 -0
- stackops-26.7.1/src/stackops/scripts/setup/linux/apps_desktop.sh +176 -0
- stackops-26.7.1/src/stackops/scripts/setup/linux/interactive.sh +31 -0
- stackops-26.7.1/src/stackops/scripts/setup/linux/quick_init.sh +12 -0
- stackops-26.7.1/src/stackops/scripts/setup/windows/interactive.ps1 +33 -0
- stackops-26.7.1/src/stackops/secrets/passwords.py +36 -0
- stackops-26.7.1/src/stackops/settings/atuin/config.toml +295 -0
- stackops-26.7.1/src/stackops/settings/lf/linux/colors +60 -0
- stackops-26.7.1/src/stackops/settings/lf/linux/exe/previewer.sh +38 -0
- stackops-26.7.1/src/stackops/settings/lf/linux/lfrc +169 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/action.ps1 +81 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/autocall/open.ps1 +80 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/colors +60 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/lfrc +100 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/previewer.cmd +3 -0
- stackops-26.7.1/src/stackops/settings/lf/windows/previewer.ps1 +73 -0
- stackops-26.7.1/src/stackops/settings/television/cable_unix/__init__.py +54 -0
- stackops-26.7.1/src/stackops/settings/television/cable_unix/dnf-packages.toml +21 -0
- stackops-26.7.1/src/stackops/settings/yazi/scripts/interactive_view.py +145 -0
- stackops-26.7.1/src/stackops/utils/cli_utils/hierarchy.py +1321 -0
- stackops-26.7.1/src/stackops/utils/cli_utils/hierarchy_types.py +1565 -0
- stackops-26.7.1/src/stackops/utils/cloud/defaults.py +29 -0
- stackops-26.7.1/src/stackops/utils/cloud/target_conflict.py +107 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/install_from_url.py +254 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/install_request_logic.py +296 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/installer_class.py +369 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/installer_helper.py +135 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/installer_runner.py +173 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/linux_package_file.py +65 -0
- stackops-26.7.1/src/stackops/utils/installer_utils/linux_package_manager.py +221 -0
- stackops-26.7.1/src/stackops/utils/schemas/__init__.py +1 -0
- stackops-26.7.1/src/stackops/utils/schemas/installer/installer_data.json +6527 -0
- stackops-26.7.1/src/stackops/utils/schemas/installer/installer_type.schema.json +548 -0
- stackops-26.7.1/src/stackops/utils/schemas/installer/installer_types.py +148 -0
- stackops-26.7.1/src/stackops/utils/schemas/mapper/data.schema.json +102 -0
- stackops-26.7.1/src/stackops/utils/schemas/mapper/data.yaml +159 -0
- stackops-26.7.1/src/stackops/utils/schemas/mapper/dotfiles.yaml +752 -0
- stackops-26.7.1/src/stackops/utils/ssh_utils/abc.py +28 -0
- stackops-26.7.1/src/stackops/utils/ssh_utils/connection_target.py +200 -0
- stackops-26.7.1/src/stackops/utils/ssh_utils/open_ssh_config.py +58 -0
- stackops-26.7.1/src/stackops/utils/ssh_utils/ssh.py +807 -0
- stackops-26.7.1/src/stackops.egg-info/PKG-INFO +144 -0
- stackops-26.7.1/src/stackops.egg-info/SOURCES.txt +1019 -0
- stackops-26.7.1/src/stackops.egg-info/requires.txt +14 -0
- stackops-26.6.7/PKG-INFO +0 -145
- stackops-26.6.7/pyproject.toml +0 -166
- stackops-26.6.7/src/stackops/jobs/installer/checks/install_utils.py +0 -159
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -11
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -38
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -60
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -36
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -6
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -34
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -60
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -31
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -122
- stackops-26.6.7/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -32
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/brave.py +0 -94
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -34
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/code.py +0 -76
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/docker.py +0 -191
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/espanso.py +0 -174
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/redis.py +0 -83
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/rmpc.py +0 -474
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -51
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/termusic.py +0 -351
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -83
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -357
- stackops-26.6.7/src/stackops/jobs/installer/python_scripts/ytui_music.py +0 -412
- stackops-26.6.7/src/stackops/scripts/python/agents.py +0 -431
- stackops-26.6.7/src/stackops/scripts/python/agents_iter.py +0 -97
- stackops-26.6.7/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -91
- stackops-26.6.7/src/stackops/scripts/python/cloud.py +0 -122
- stackops-26.6.7/src/stackops/scripts/python/devops.py +0 -202
- stackops-26.6.7/src/stackops/scripts/python/graph/cli_graph.json +0 -21015
- stackops-26.6.7/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +0 -20
- stackops-26.6.7/src/stackops/scripts/python/graph/visualize/plotly_browser.py +0 -185
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_agentops_cache.py +0 -66
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_impl.py +0 -132
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_constants.py +0 -5
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_impl.py +0 -771
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_rich_output.py +0 -212
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_agents/agents_plan_impl.py +0 -147
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +0 -323
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +0 -118
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +0 -488
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +0 -91
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +0 -78
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +0 -335
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +0 -314
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +0 -387
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +0 -310
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_interactive.py +0 -115
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +0 -309
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -234
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +0 -292
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +0 -223
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +0 -216
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +0 -247
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +0 -287
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +0 -227
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +0 -250
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -342
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -35
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +0 -176
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +0 -316
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_repos/grource.py +0 -319
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +0 -288
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +0 -135
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_aoe.py +0 -317
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_herdr.py +0 -435
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_models.py +0 -78
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -147
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +0 -204
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace_render.py +0 -196
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +0 -221
- stackops-26.6.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +0 -43
- stackops-26.6.7/src/stackops/scripts/python/preview.py +0 -106
- stackops-26.6.7/src/stackops/scripts/python/stackops_entry.py +0 -154
- stackops-26.6.7/src/stackops/scripts/python/terminal.py +0 -410
- stackops-26.6.7/src/stackops/scripts/python/utils.py +0 -61
- stackops-26.6.7/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -94
- stackops-26.6.7/src/stackops/scripts/setup/linux/interactive.sh +0 -31
- stackops-26.6.7/src/stackops/scripts/setup/windows/interactive.ps1 +0 -33
- stackops-26.6.7/src/stackops/settings/atuin/config.toml +0 -294
- stackops-26.6.7/src/stackops/settings/lf/linux/colors +0 -196
- stackops-26.6.7/src/stackops/settings/lf/linux/exe/previewer.sh +0 -43
- stackops-26.6.7/src/stackops/settings/lf/linux/lfrc +0 -225
- stackops-26.6.7/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
- stackops-26.6.7/src/stackops/settings/lf/windows/colors +0 -159
- stackops-26.6.7/src/stackops/settings/lf/windows/lfrc +0 -112
- stackops-26.6.7/src/stackops/settings/lf/windows/previewer.ps1 +0 -7
- stackops-26.6.7/src/stackops/settings/television/cable_unix/__init__.py +0 -53
- stackops-26.6.7/src/stackops/settings/yazi/scripts/interactive_view.py +0 -126
- stackops-26.6.7/src/stackops/utils/cli_utils/hierarchy.py +0 -1321
- stackops-26.6.7/src/stackops/utils/cli_utils/hierarchy_types.py +0 -1565
- stackops-26.6.7/src/stackops/utils/cloud/defaults.py +0 -31
- stackops-26.6.7/src/stackops/utils/installer_utils/install_from_url.py +0 -259
- stackops-26.6.7/src/stackops/utils/installer_utils/install_request_logic.py +0 -190
- stackops-26.6.7/src/stackops/utils/installer_utils/installer_class.py +0 -412
- stackops-26.6.7/src/stackops/utils/installer_utils/installer_helper.py +0 -175
- stackops-26.6.7/src/stackops/utils/installer_utils/installer_runner.py +0 -178
- stackops-26.6.7/src/stackops/utils/schemas/installer/installer_data.json +0 -6172
- stackops-26.6.7/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -446
- stackops-26.6.7/src/stackops/utils/schemas/installer/installer_types.py +0 -143
- stackops-26.6.7/src/stackops/utils/schemas/mapper/data.schema.json +0 -137
- stackops-26.6.7/src/stackops/utils/schemas/mapper/data.yaml +0 -170
- stackops-26.6.7/src/stackops/utils/schemas/mapper/dotfiles.yaml +0 -752
- stackops-26.6.7/src/stackops/utils/ssh_utils/abc.py +0 -28
- stackops-26.6.7/src/stackops/utils/ssh_utils/ssh.py +0 -888
- stackops-26.6.7/src/stackops.egg-info/PKG-INFO +0 -145
- stackops-26.6.7/src/stackops.egg-info/SOURCES.txt +0 -961
- stackops-26.6.7/src/stackops.egg-info/requires.txt +0 -15
- {stackops-26.6.7 → stackops-26.7.1}/MANIFEST.in +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/README.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/setup.cfg +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/manual/test_dotfile_mapper_assets.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/manual/test_path_references.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/manual/test_secrets_schema.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/manual/test_stackops_skill_refs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/manual/test_stackops_versioning.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/__main__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/cli.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/graph.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/graph_css.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/graph_css_continued.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/graph_js.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/graph_js_continued.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/renderer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/architecture_graph/scanner.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/cloud_manager.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/data_transfer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/distribute.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/execution_script.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/file_manager.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/job_params.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/notification.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/notifications.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/remote/remote_machine.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/scheduler.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/helpers/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/monitoring_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/session_conflict.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/status_reporting.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/security_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/checks/vt_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/macos_scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/boxes.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/cursor.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/hx.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/lvim.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/nerdfont.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/orca.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/poppler.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/winget.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/python_scripts/yazi.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/installer/todo.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/jobs/scripts_dynamic/system_compute_analyzer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/logger.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/paths.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/create_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/create_links.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/create_links_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/create_shell_profile.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/dotfiles_mapper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/linking/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/linking/conflict.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/linking/operations.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/profile/linking/options.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/linux/wrap_stackops +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/nu/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_browser.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_parallel.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_parallel_commands.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_parallel_run_command.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_test_runtime.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/agents_type_fix.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/initai.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/initai_frameworks.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/initai_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/initai_rich_output.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models_config.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models_core.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/antigravity/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/auggie/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/codex/config.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/droid/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/forge/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/oz/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/pi/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/q/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/qwen_code/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/warp/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/generate_files.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/generate_files_content.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/generate_files_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/generic.instructions.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/shared.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/enums.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/fire_jobs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/ftpx.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/python_api_graph.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/python_api_graph_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/python_api_graph_search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_launch_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_launch_runtime.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_prompt.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_launch.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_status.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_prompts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_aoe_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_layouts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_stackops_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_cdp_relay.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp-browser-url.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-cli.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-user-data-dir.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/brave.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/chrome.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/edge.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/firefox.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/registry.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/safari.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +0 -0
- {stackops-26.6.7/src/stackops/scripts/windows → stackops-26.7.1/src/stackops/scripts/python/helpers/helpers_ai_account}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_cloud/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_tmux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_prompts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_repos_viz.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_clone.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_info.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_devops/vault.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_env/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_env/path_manager_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/pomodoro.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/scheduler.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/viewer.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_preview/viewer_template.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/record.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/sync.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_search/script_help.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_aoe_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_process_commands.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_process_inspection.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export_selection.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export_source.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_herdr.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/terminal_cli_helpers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/terminal_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/tmux_export.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/tmux_export_constants.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/processes.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_check.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_setup.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_helpers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/python.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/python_env.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/python_init.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/surya.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/helpers/helpers_utils/upgrade_packages.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/seek.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/terminal_summarize.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/python/terminal_summary.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/linux/live_from_github.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/linux/uv.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/macos/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/macos/uv.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/windows/live_from_github.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
- {stackops-26.6.7/src/stackops/secrets → stackops-26.7.1/src/stackops/scripts/windows}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
- {stackops-26.6.7/src/stackops/settings/herdr → stackops-26.7.1/src/stackops/secrets}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/assets.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/loader.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/paths.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/readers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/secrets/search.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/atuin/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/atuin/themes/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/broot/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/broot/br.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/broot/brootcd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/broot/conf.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/glow/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/glow/glow.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/helix/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/helix/config.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/helix/languages.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/helix/yazi-picker.sh +0 -0
- {stackops-26.6.7/src/stackops/settings/ollama → stackops-26.7.1/src/stackops/settings/herdr}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/herdr/config.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keras/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keras/keras.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/linux/icons +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/icons +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/.flake8 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/.mypy.ini +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/.pylintrc +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/.ruff.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/pyrefly.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/linters/ty.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/linux/config.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/config.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/marimo/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/marimo/marimo.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/mprocs/windows/other +0 -0
- {stackops-26.6.7/src/stackops/settings/psmux → stackops-26.7.1/src/stackops/settings/ollama}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/ollama/server.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/pistol/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/pistol/pistol.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/presenterm/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/presenterm/config.yaml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/procs/.procs.toml +0 -0
- {stackops-26.6.7/src/stackops/utils/machine → stackops-26.7.1/src/stackops/settings/psmux}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/description.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.local.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/pudb/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/pudb/pudb.cfg +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/rofi/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/rofi/config.rasi +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/rofi/config_default.rasi +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/bash/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/bash/init.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/ghostty/config +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/kitty/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/nushell/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/nushell/config.nu +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/nushell/env.nu +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/nushell/init.nu +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/pwsh/init.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/starship/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/starship/starship.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/vtm/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/vtm/settings.xml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/wt/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/wt/settings.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/zsh/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/shells/zsh/init.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/streamlit/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/streamlit/config.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/svim/linux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/svim/linux/init.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/svim/windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/svim/windows/init.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/env.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/files.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/images.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/path.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/text.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/env.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/files.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/television/cable_windows/text.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tere/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tere/terecd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tere/terecd.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tmux/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tmux/tmux.conf.local +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tv/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tv/config.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tv/themes/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/wsl/.wslconfig +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/wt/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/wt/set_wt_settings.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/init.lua +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/keymap_darwin.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/keymap_linux.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/keymap_windows.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/shell/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/theme.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/zed/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/settings/zed/settings.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/accessories.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cli_utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cli_utils/alias_markers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cli_utils/command_lookup.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cli_utils/terminal.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/encryption.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/onedrive/README.md +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/rclone.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/cloud/rclone_wrapper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/code.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/art/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/art/fat_croco.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/art/happy_croco.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/art/water_croco.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/ascii_art.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/compression.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/dbms.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/download.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/f.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/headers.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/notebook.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/ouch/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/ouch/decompress.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/files/read.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_cli.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_explore.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_main_protocol.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_constants.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_scripts.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/io.py +0 -0
- {stackops-26.6.7/src/stackops/utils/network → stackops-26.7.1/src/stackops/utils/machine}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/machine/specs.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/meta.py +0 -0
- {stackops-26.6.7/src/stackops/utils/python → stackops-26.7.1/src/stackops/utils/network}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/network/address.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/optional_dependencies.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/options.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/options_tv_linux.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/textual_options_form.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/textual_options_form_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/options_utils/tv_options.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/path_core.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/path_reference.py +0 -0
- {stackops-26.6.7/src/stackops/utils/repos → stackops-26.7.1/src/stackops/utils/python}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/python/imports.py +0 -0
- {stackops-26.6.7/src/stackops/utils/schemas → stackops-26.7.1/src/stackops/utils/repos}/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/repos/stackops_paths.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/agents/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/agents/parallel.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/agents/prompts.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/config/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/config/config.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/config/config.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/config/config_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/fire_agents/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/installer/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/installer/package_groups.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/layouts/layout.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/layouts/layout_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/mapper/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/mapper/dotfiles.schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/repos/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/schemas/yaml_schema.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/source_of_truth.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/ssh_utils/__init__.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/ssh_utils/wsl.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops/version.py +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops.egg-info/dependency_links.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops.egg-info/entry_points.txt +0 -0
- {stackops-26.6.7 → stackops-26.7.1}/src/stackops.egg-info/top_level.txt +0 -0
stackops-26.7.1/PKG-INFO
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: stackops
|
|
3
|
+
Version: 26.7.1
|
|
4
|
+
Summary: Developer Stack Manager
|
|
5
|
+
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
|
+
License: Apache 2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/thisismygitrepo/stackops
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/thisismygitrepo/stackops/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.13
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
Requires-Dist: fire>=0.7.1
|
|
15
|
+
Requires-Dist: gitpython>=3.1.46
|
|
16
|
+
Requires-Dist: psutil>=7.2.2
|
|
17
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
18
|
+
Requires-Dist: questionary>=2.1.1
|
|
19
|
+
Requires-Dist: randomname>=0.2.1
|
|
20
|
+
Requires-Dist: requests>=2.32.5
|
|
21
|
+
Requires-Dist: rich>=14.3.3
|
|
22
|
+
Requires-Dist: tenacity>=9.1.4
|
|
23
|
+
Requires-Dist: typer>=0.24.1
|
|
24
|
+
Provides-Extra: windows
|
|
25
|
+
Provides-Extra: plot
|
|
26
|
+
|
|
27
|
+
<div align="center">
|
|
28
|
+
|
|
29
|
+
<h1>🗜 StackOps</h1>
|
|
30
|
+
|
|
31
|
+
<strong>Digital Life Manager.</strong>
|
|
32
|
+
|
|
33
|
+
<p>
|
|
34
|
+
<a href="https://thisismygitrepo.github.io/stackops/"><img alt="Docs" src="https://img.shields.io/badge/docs-online-2f6f6f"></a>
|
|
35
|
+
<a href="https://pypi.org/project/stackops/"><img alt="PyPI package" src="https://img.shields.io/pypi/v/stackops?color=2f6f6f"></a>
|
|
36
|
+
<img alt="Python 3.13+" src="https://img.shields.io/badge/python-3.13%2B-3776AB">
|
|
37
|
+
<img alt="Installed with uv" src="https://img.shields.io/badge/install-uv-f05d23">
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
StackOps is a cross-platform CLI for managing your development stack. It is package installer, configurator, dotfile/secrets manager, data and code sync solution, command launcher, processes orchestrator (is there anything else?) all wrapped into one solution. As such, it should take a few minutes to make a fresh new machine to look like the machine you were customizing for 10 years.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
| Before | After |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
|  |  |
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
See the [online docs](https://thisismygitrepo.github.io/stackops/) for full usage and reference material.
|
|
51
|
+
|
|
52
|
+
## Install
|
|
53
|
+
|
|
54
|
+
Choose your platform and expand only the commands you need.
|
|
55
|
+
|
|
56
|
+
<details>
|
|
57
|
+
<summary><strong>Linux</strong></summary>
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
61
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
62
|
+
stackops --help
|
|
63
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
</details>
|
|
67
|
+
|
|
68
|
+
<details>
|
|
69
|
+
<summary><strong>macOS</strong></summary>
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
73
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
74
|
+
stackops --help
|
|
75
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</details>
|
|
79
|
+
|
|
80
|
+
<details>
|
|
81
|
+
<summary><strong>Windows PowerShell</strong></summary>
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
85
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
86
|
+
stackops --help
|
|
87
|
+
# OR: irm bit.ly/sopsw | iex
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
</details>
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## Codex Skill
|
|
94
|
+
|
|
95
|
+
Install the StackOps skill for Codex with:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
bunx skills add thisismygitrepo/stackops --skill stackops --global --agent codex --yes
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## Quick Init
|
|
103
|
+
|
|
104
|
+
Run these once StackOps is installed.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
devops install --group sysabc
|
|
108
|
+
devops config copy-assets all
|
|
109
|
+
devops config sync down \
|
|
110
|
+
--sensitivity public \
|
|
111
|
+
--method copy \
|
|
112
|
+
--on-conflict throw-error \
|
|
113
|
+
--which all
|
|
114
|
+
devops config terminal config-shell --which default
|
|
115
|
+
devops install --group termabc
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
## CLI
|
|
120
|
+
|
|
121
|
+
StackOps exposes standalone commands and an umbrella wrapper:
|
|
122
|
+
|
|
123
|
+
| Command | Purpose |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| `devops` | Package installation, repo automation, config/data sync, self-management, networking, script execution, vault |
|
|
126
|
+
| `cloud` | Cloud sync, copy, mount, and SSH transfer helpers |
|
|
127
|
+
| `terminal` | Terminal session and layout management |
|
|
128
|
+
| `agents` | AI agent scaffolding, MCP catalog installs, prompt runs, parallel workflows |
|
|
129
|
+
| `utils` | General-purpose utility commands |
|
|
130
|
+
| `fire` | File, function, notebook, and app runner |
|
|
131
|
+
| `preview` | File preview and `uv run` backend launcher |
|
|
132
|
+
| `seek` | Interactive search across files, text matches, and symbols |
|
|
133
|
+
| `stackops` | Umbrella wrapper that routes into all of the above |
|
|
134
|
+
|
|
135
|
+
Run `<command> --help` for details, or `stackops --help` to see the full tree.
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## Author
|
|
139
|
+
|
|
140
|
+
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
141
|
+
|
|
142
|
+
## Contributor
|
|
143
|
+
|
|
144
|
+
Ruby Chan. [email](mailto:ruby.chan@sa.gov.au)
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=80", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
# requires = ["hatchling"]
|
|
5
|
+
# build-backend = "hatchling.build"
|
|
6
|
+
|
|
7
|
+
[project]
|
|
8
|
+
name = "stackops"
|
|
9
|
+
version = "26.7.1"
|
|
10
|
+
description = "Developer Stack Manager"
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
license = {text = "Apache 2.0"}
|
|
13
|
+
authors = [
|
|
14
|
+
{name = "Alex Al-Saffar", email = "programmer@usa.com"},
|
|
15
|
+
]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"License :: OSI Approved :: Apache Software License",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
]
|
|
21
|
+
requires-python = ">=3.13"
|
|
22
|
+
dependencies = [
|
|
23
|
+
"fire>=0.7.1",
|
|
24
|
+
"gitpython>=3.1.46",
|
|
25
|
+
"psutil>=7.2.2",
|
|
26
|
+
"pyyaml>=6.0.3",
|
|
27
|
+
"questionary>=2.1.1",
|
|
28
|
+
"randomname>=0.2.1",
|
|
29
|
+
"requests>=2.32.5",
|
|
30
|
+
"rich>=14.3.3",
|
|
31
|
+
"tenacity>=9.1.4",
|
|
32
|
+
"typer>=0.24.1",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.optional-dependencies]
|
|
36
|
+
windows = []
|
|
37
|
+
plot = [
|
|
38
|
+
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
[project.urls]
|
|
43
|
+
"Homepage" = "https://github.com/thisismygitrepo/stackops"
|
|
44
|
+
"Bug Tracker" = "https://github.com/thisismygitrepo/stackops/issues"
|
|
45
|
+
|
|
46
|
+
[project.scripts]
|
|
47
|
+
devops = "stackops.scripts.python.devops:main"
|
|
48
|
+
cloud = "stackops.scripts.python.cloud:main"
|
|
49
|
+
fire = "stackops.scripts.python.fire_jobs:main"
|
|
50
|
+
agents = "stackops.scripts.python.agents:main"
|
|
51
|
+
terminal = "stackops.scripts.python.terminal:main"
|
|
52
|
+
preview = "stackops.scripts.python.preview:main"
|
|
53
|
+
utils = "stackops.scripts.python.utils:main"
|
|
54
|
+
stackops = "stackops.scripts.python.stackops_entry:main"
|
|
55
|
+
seek = "stackops.scripts.python.seek:main"
|
|
56
|
+
|
|
57
|
+
[tool.setuptools]
|
|
58
|
+
package-dir = {"" = "src"}
|
|
59
|
+
include-package-data = true
|
|
60
|
+
license-files = []
|
|
61
|
+
|
|
62
|
+
[tool.setuptools.packages.find]
|
|
63
|
+
where = ["src"]
|
|
64
|
+
|
|
65
|
+
[tool.setuptools.package-data]
|
|
66
|
+
stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/schemas/**/*.json", "utils/schemas/**/*.yaml"]
|
|
67
|
+
|
|
68
|
+
[dependency-groups]
|
|
69
|
+
dev = [
|
|
70
|
+
"aider>=0.2.6",
|
|
71
|
+
"build>=1.5.0",
|
|
72
|
+
"cleanpy>=0.5.1",
|
|
73
|
+
"cowsay>=6.1",
|
|
74
|
+
"duckdb>=1.5.4",
|
|
75
|
+
"gdown>=6.1.0",
|
|
76
|
+
"griffe>=2.1.0",
|
|
77
|
+
"ipdb>=0.13.13",
|
|
78
|
+
"ipykernel>=7.3.0",
|
|
79
|
+
"ipython>=9.15.0",
|
|
80
|
+
"jsonschema>=4.26.0",
|
|
81
|
+
"kaleido>=1.3.0",
|
|
82
|
+
"marimo>=0.23.11",
|
|
83
|
+
"matplotlib>=3.11.0",
|
|
84
|
+
"mkdocstrings>=1.0.4",
|
|
85
|
+
"mkdocstrings-python>=2.0.5",
|
|
86
|
+
"mypy>=2.1.0",
|
|
87
|
+
"numpy>=2.5.0",
|
|
88
|
+
"pandas>=3.0.3",
|
|
89
|
+
"paramiko>=5.0.0",
|
|
90
|
+
"plotly>=6.8.0",
|
|
91
|
+
"polars>=1.42.0",
|
|
92
|
+
"pre-commit>=4.6.0",
|
|
93
|
+
"pudb>=2025.1.5",
|
|
94
|
+
"py7zr>=1.1.3",
|
|
95
|
+
"pydantic>=2.13.4",
|
|
96
|
+
"pydeps>=3.0.6",
|
|
97
|
+
"pyinstaller>=6.21.0",
|
|
98
|
+
"pylint>=4.0.6",
|
|
99
|
+
"pylsp-mypy>=0.7.3",
|
|
100
|
+
"pymupdf>=1.27.2.3",
|
|
101
|
+
"pypdf>=6.14.2",
|
|
102
|
+
"pyrefly>=1.1.1",
|
|
103
|
+
"pyright>=1.1.411",
|
|
104
|
+
"pytest>=9.1.1",
|
|
105
|
+
"python-lsp-server[mypy]>=1.14.0",
|
|
106
|
+
"qrcode>=8.2",
|
|
107
|
+
"ruff>=0.15.20",
|
|
108
|
+
"ruff-lsp>=0.0.62",
|
|
109
|
+
"sqlalchemy>=2.0.51",
|
|
110
|
+
"textual>=8.2.7",
|
|
111
|
+
"trogon>=0.6.0",
|
|
112
|
+
"ty>=0.0.55",
|
|
113
|
+
"types-mysqlclient>=2.2.0.20260508",
|
|
114
|
+
"types-paramiko>=5.0.0.20260617",
|
|
115
|
+
"types-pytz>=2026.2.0.20260518",
|
|
116
|
+
"types-pyyaml>=6.0.12.20260518",
|
|
117
|
+
"types-requests>=2.33.0.20260518",
|
|
118
|
+
"types-sqlalchemy>=1.4.53.38",
|
|
119
|
+
"types-toml>=0.10.8.20260518",
|
|
120
|
+
"types-urllib3>=1.26.25.14",
|
|
121
|
+
"vt-py>=0.22.0",
|
|
122
|
+
"yapf>=0.43.0",
|
|
123
|
+
"zensical>=0.0.46",
|
|
124
|
+
]
|
|
125
|
+
other = [
|
|
126
|
+
"duckdb-engine>=0.17.0",
|
|
127
|
+
"pycrucible>=0.4.6",
|
|
128
|
+
"vt-py>=0.22.0",
|
|
129
|
+
]
|
|
130
|
+
plot = [
|
|
131
|
+
"duckdb>=1.5.4",
|
|
132
|
+
"ipykernel>=7.3.0",
|
|
133
|
+
"ipython>=9.15.0",
|
|
134
|
+
"jupyterlab>=4.6.0",
|
|
135
|
+
"kaleido>=1.3.0",
|
|
136
|
+
"matplotlib>=3.11.0",
|
|
137
|
+
"nbformat>=5.10.4",
|
|
138
|
+
"numpy>=2.5.0",
|
|
139
|
+
"plotly>=6.8.0",
|
|
140
|
+
"polars>=1.42.0",
|
|
141
|
+
"python-magic>=0.4.27",
|
|
142
|
+
"sqlalchemy>=2.0.51",
|
|
143
|
+
]
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
# [tool.uv]
|
|
147
|
+
# default-groups = []
|
|
148
|
+
|
|
149
|
+
[tool.pycrucible]
|
|
150
|
+
entry = "src/stackops/scripts/python/devops.py"
|
|
151
|
+
[tool.pycrucible.options]
|
|
152
|
+
debug = false
|
|
153
|
+
extract_to_temp = false
|
|
154
|
+
delete_after_run = false
|
|
155
|
+
offline_mode = false
|
|
156
|
+
|
|
157
|
+
[tool.pycrucible.patterns]
|
|
158
|
+
include = [
|
|
159
|
+
"**/*.py",
|
|
160
|
+
"**/*.ps1",
|
|
161
|
+
"**/*.sh",
|
|
162
|
+
"**/*.md",
|
|
163
|
+
]
|
|
164
|
+
exclude = [
|
|
165
|
+
"**/__pycache__/**",
|
|
166
|
+
]
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Installation Utilities
|
|
3
|
+
======================
|
|
4
|
+
|
|
5
|
+
This module provides functionality to download and install pre-checked applications.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import csv
|
|
9
|
+
from io import StringIO
|
|
10
|
+
import platform
|
|
11
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
from typing import cast
|
|
14
|
+
|
|
15
|
+
import stackops.utils.path_core as path_core
|
|
16
|
+
from rich.console import Console
|
|
17
|
+
|
|
18
|
+
from stackops.utils.cloud.rclone_wrapper import get_remote_path, to_cloud
|
|
19
|
+
from stackops.utils.source_of_truth import CONFIG_ROOT, LINUX_INSTALL_PATH, WINDOWS_INSTALL_PATH
|
|
20
|
+
|
|
21
|
+
# Constants
|
|
22
|
+
APP_METADATA_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_metadata_report.csv")
|
|
23
|
+
ENGINE_RESULTS_PATH = CONFIG_ROOT.joinpath(f"profile/records/{platform.system().lower()}/apps_engine_results_report.csv")
|
|
24
|
+
CLOUD_STORAGE_NAME = "gdp" # Default cloud storage name for rclone
|
|
25
|
+
|
|
26
|
+
console = Console()
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _load_csv_report(path: Path) -> list[dict[str, str]]:
|
|
30
|
+
csv_text = path.read_text(encoding="utf-8")
|
|
31
|
+
return list(csv.DictReader(StringIO(csv_text)))
|
|
32
|
+
|
|
33
|
+
def upload_app(path: Path) -> str | None:
|
|
34
|
+
"""Uploads the app to cloud storage and returns the shareable link."""
|
|
35
|
+
try:
|
|
36
|
+
local_path = path.expanduser().absolute()
|
|
37
|
+
remote_path = get_remote_path(
|
|
38
|
+
local_path=local_path,
|
|
39
|
+
root="myhome",
|
|
40
|
+
os_specific=True,
|
|
41
|
+
rel2home=True,
|
|
42
|
+
strict=True,
|
|
43
|
+
)
|
|
44
|
+
return to_cloud(
|
|
45
|
+
local_path=local_path,
|
|
46
|
+
cloud=CLOUD_STORAGE_NAME,
|
|
47
|
+
remote_path=remote_path,
|
|
48
|
+
share=True,
|
|
49
|
+
share_options=None,
|
|
50
|
+
verbose=False,
|
|
51
|
+
transfers=10,
|
|
52
|
+
)
|
|
53
|
+
except Exception as e:
|
|
54
|
+
console.print(f"[red]Failed to upload {path}: {e}[/red]")
|
|
55
|
+
return None
|
|
56
|
+
|
|
57
|
+
def download_google_drive_file(url: str) -> Path:
|
|
58
|
+
"""Downloads a file from Google Drive using gdown."""
|
|
59
|
+
try:
|
|
60
|
+
# Extract ID from URL
|
|
61
|
+
# Assuming URL format like https://drive.google.com/file/d/FILE_ID/view or similar
|
|
62
|
+
# or https://drive.google.com/uc?id=FILE_ID
|
|
63
|
+
if "id=" in url:
|
|
64
|
+
file_id = url.split("id=")[1].split("&")[0]
|
|
65
|
+
elif "/d/" in url:
|
|
66
|
+
file_id = url.split("/d/")[1].split("/")[0]
|
|
67
|
+
else:
|
|
68
|
+
# Fallback to gdown's auto detection or just pass URL
|
|
69
|
+
file_id = url
|
|
70
|
+
|
|
71
|
+
# Create a temporary directory for download
|
|
72
|
+
output_dir = path_core.tmpdir(prefix="gdown_")
|
|
73
|
+
# gdown.download returns the output filename when output is a directory path
|
|
74
|
+
from gdown.download import download
|
|
75
|
+
output_file = download(id=file_id, output=str(output_dir) + "/", quiet=False)
|
|
76
|
+
|
|
77
|
+
if not output_file:
|
|
78
|
+
raise ValueError(f"Download failed for {url}")
|
|
79
|
+
|
|
80
|
+
return Path(cast(str, output_file))
|
|
81
|
+
except Exception as e:
|
|
82
|
+
raise RuntimeError(f"Failed to download from Google Drive: {e}") from e
|
|
83
|
+
|
|
84
|
+
def install_cli_app(app_url: str) -> bool:
|
|
85
|
+
"""Downloads and installs a CLI app."""
|
|
86
|
+
try:
|
|
87
|
+
if not app_url:
|
|
88
|
+
return False
|
|
89
|
+
|
|
90
|
+
exe_path = download_google_drive_file(app_url)
|
|
91
|
+
console.print(f"[green]Downloaded {exe_path.name}[/green]")
|
|
92
|
+
|
|
93
|
+
system = platform.system().lower()
|
|
94
|
+
if system in ["linux", "darwin"]:
|
|
95
|
+
exe_path.chmod(0o755) # Make executable
|
|
96
|
+
# Move to local bin (requires user to have write access or sudo, which we can't easily do here without interaction)
|
|
97
|
+
# Using LINUX_INSTALL_PATH is safer
|
|
98
|
+
install_path = Path(LINUX_INSTALL_PATH)
|
|
99
|
+
install_path.mkdir(parents=True, exist_ok=True)
|
|
100
|
+
target = install_path / exe_path.name
|
|
101
|
+
exe_path.rename(target)
|
|
102
|
+
console.print(f"[green]Installed to {target}[/green]")
|
|
103
|
+
elif system == "windows":
|
|
104
|
+
install_path = Path(WINDOWS_INSTALL_PATH)
|
|
105
|
+
install_path.mkdir(parents=True, exist_ok=True)
|
|
106
|
+
target = install_path / exe_path.name
|
|
107
|
+
# Use shutil.move or path_core.move
|
|
108
|
+
path_core.move(exe_path, path=target, overwrite=True)
|
|
109
|
+
console.print(f"[green]Installed to {target}[/green]")
|
|
110
|
+
|
|
111
|
+
return True
|
|
112
|
+
except Exception as e:
|
|
113
|
+
console.print(f"[red]Failed to install app from {app_url}: {e}[/red]")
|
|
114
|
+
return False
|
|
115
|
+
|
|
116
|
+
def load_app_metadata_report() -> list[dict[str, str]]:
|
|
117
|
+
"""Loads the app metadata report from CSV."""
|
|
118
|
+
if APP_METADATA_PATH.exists():
|
|
119
|
+
return _load_csv_report(APP_METADATA_PATH)
|
|
120
|
+
console.print(f"[yellow]Warning: App metadata report not found at {APP_METADATA_PATH}[/yellow]")
|
|
121
|
+
return []
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def load_engine_results_report() -> list[dict[str, str]]:
|
|
125
|
+
"""Loads the engine results report from CSV."""
|
|
126
|
+
if ENGINE_RESULTS_PATH.exists():
|
|
127
|
+
return _load_csv_report(ENGINE_RESULTS_PATH)
|
|
128
|
+
console.print(f"[yellow]Warning: Engine results report not found at {ENGINE_RESULTS_PATH}[/yellow]")
|
|
129
|
+
return []
|
|
130
|
+
|
|
131
|
+
def download_safe_apps(name: str = "essentials") -> bool:
|
|
132
|
+
"""Downloads and installs safe apps."""
|
|
133
|
+
data = load_app_metadata_report()
|
|
134
|
+
if not data:
|
|
135
|
+
console.print("[red]No app data available to install.[/red]")
|
|
136
|
+
return False
|
|
137
|
+
|
|
138
|
+
apps_to_install = []
|
|
139
|
+
if name == "essentials":
|
|
140
|
+
# Install all available apps in the report? Or filter?
|
|
141
|
+
# Original code installed all if name="essentials" (implied by logic)
|
|
142
|
+
apps_to_install = [item['app_url'] for item in data if item.get('app_url')]
|
|
143
|
+
else:
|
|
144
|
+
apps_to_install = [item['app_url'] for item in data if item.get('app_name') == name and item.get('app_url')]
|
|
145
|
+
|
|
146
|
+
if not apps_to_install:
|
|
147
|
+
console.print(f"[yellow]No apps found to install for '{name}'.[/yellow]")
|
|
148
|
+
return False
|
|
149
|
+
|
|
150
|
+
console.print(f"[bold]Installing {len(apps_to_install)} apps...[/bold]")
|
|
151
|
+
|
|
152
|
+
with ThreadPoolExecutor(max_workers=5) as executor:
|
|
153
|
+
results = list(executor.map(install_cli_app, apps_to_install))
|
|
154
|
+
|
|
155
|
+
success_count = sum(results)
|
|
156
|
+
if success_count != len(apps_to_install):
|
|
157
|
+
console.print(f"[bold yellow]Installed {success_count}/{len(apps_to_install)} apps.[/bold yellow]")
|
|
158
|
+
return False
|
|
159
|
+
console.print(f"[bold green]Successfully installed {success_count}/{len(apps_to_install)} apps.[/bold green]")
|
|
160
|
+
return True
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
|
|
2
|
+
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
|
|
3
|
+
&& echo "deb https://ngrok-agent.s3.amazonaws.com bookworm main" \
|
|
4
|
+
| sudo tee /etc/apt/sources.list.d/ngrok.list \
|
|
5
|
+
&& sudo apt-get update \
|
|
6
|
+
&& sudo apt-get install -y ngrok
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""brave installer"""
|
|
2
|
+
|
|
3
|
+
import platform
|
|
4
|
+
from typing import TYPE_CHECKING
|
|
5
|
+
|
|
6
|
+
from rich import box
|
|
7
|
+
from rich.console import Console
|
|
8
|
+
from rich.panel import Panel
|
|
9
|
+
|
|
10
|
+
from stackops.utils.code import run_shell_script
|
|
11
|
+
from stackops.utils.installer_utils.installer_main_protocol import InstallerPythonScriptMain
|
|
12
|
+
from stackops.utils.installer_utils.linux_package_manager import LinuxDistribution, detect_current_linux_distribution
|
|
13
|
+
from stackops.utils.meta import print_code
|
|
14
|
+
from stackops.utils.schemas.installer.installer_types import InstallerData
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def _build_linux_install_script(distribution: LinuxDistribution) -> str:
|
|
18
|
+
match (distribution.distribution_id, distribution.package_manager):
|
|
19
|
+
case ("alpine", "apk"):
|
|
20
|
+
raise NotImplementedError("Brave Browser does not publish an Alpine Linux APK package.")
|
|
21
|
+
case (unsupported_distribution_id, "apk"):
|
|
22
|
+
raise ValueError(f"Invalid package-manager metadata for Linux distribution '{unsupported_distribution_id}': manager=apk")
|
|
23
|
+
case (_, "apt"):
|
|
24
|
+
repository_setup = """
|
|
25
|
+
echo "📥 Installing APT repository prerequisites..."
|
|
26
|
+
sudo apt-get update
|
|
27
|
+
sudo apt-get install -y curl
|
|
28
|
+
|
|
29
|
+
echo "🔐 Adding Brave's official signing key and repository..."
|
|
30
|
+
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
|
31
|
+
sudo curl -fsSLo /etc/apt/sources.list.d/brave-browser-release.sources https://brave-browser-apt-release.s3.brave.com/brave-browser.sources
|
|
32
|
+
sudo apt-get update
|
|
33
|
+
"""
|
|
34
|
+
install_command = "sudo apt-get install -y brave-browser"
|
|
35
|
+
case ("fedora", "dnf"):
|
|
36
|
+
repository_setup = """
|
|
37
|
+
echo "📥 Installing DNF repository prerequisites..."
|
|
38
|
+
sudo dnf install -y dnf-plugins-core
|
|
39
|
+
|
|
40
|
+
echo "📝 Adding Brave's official Fedora repository..."
|
|
41
|
+
sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
|
42
|
+
"""
|
|
43
|
+
install_command = "sudo dnf install -y brave-browser"
|
|
44
|
+
case ("rhel" | "rocky" | "centos", "dnf"):
|
|
45
|
+
repository_setup = """
|
|
46
|
+
echo "📥 Installing DNF repository prerequisites..."
|
|
47
|
+
sudo dnf install -y dnf-plugins-core
|
|
48
|
+
|
|
49
|
+
echo "📝 Adding Brave's official RPM repository..."
|
|
50
|
+
sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
|
|
51
|
+
"""
|
|
52
|
+
install_command = "sudo dnf install -y brave-browser"
|
|
53
|
+
case (unsupported_distribution_id, "dnf"):
|
|
54
|
+
raise NotImplementedError(
|
|
55
|
+
"Brave's official RPM instructions do not support Linux distribution "
|
|
56
|
+
f"'{unsupported_distribution_id}'. Supported RPM distributions: fedora, rhel, rocky, centos."
|
|
57
|
+
)
|
|
58
|
+
case ("arch", "pacman"):
|
|
59
|
+
raise NotImplementedError("Brave Browser is only available through the AUR on Arch Linux; pacman cannot install it.")
|
|
60
|
+
case (unsupported_distribution_id, "pacman"):
|
|
61
|
+
raise ValueError(f"Invalid package-manager metadata for Linux distribution '{unsupported_distribution_id}': manager=pacman")
|
|
62
|
+
|
|
63
|
+
return f"""#!/usr/bin/env bash
|
|
64
|
+
set -euo pipefail
|
|
65
|
+
|
|
66
|
+
echo "🦁 Installing Brave on {distribution.distribution_id} with {distribution.package_manager}"
|
|
67
|
+
{repository_setup}
|
|
68
|
+
|
|
69
|
+
echo "📦 Installing Brave Browser..."
|
|
70
|
+
{install_command}
|
|
71
|
+
|
|
72
|
+
echo "✅ Brave Browser installation completed"
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def main(installer_data: InstallerData, version: str | None, update: bool) -> None:
|
|
77
|
+
console = Console()
|
|
78
|
+
_ = installer_data, update
|
|
79
|
+
system = platform.system()
|
|
80
|
+
console.print(
|
|
81
|
+
Panel.fit(
|
|
82
|
+
"\n".join([f"💻 Platform: {system}", f"🔄 Version: {'latest' if version is None else version}"]),
|
|
83
|
+
title="🦁 Brave Browser Installer",
|
|
84
|
+
border_style="orange1",
|
|
85
|
+
box=box.ROUNDED,
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
match system:
|
|
90
|
+
case "Windows":
|
|
91
|
+
console.print("🪟 Installing Brave Browser on Windows using winget...", style="bold")
|
|
92
|
+
program = """
|
|
93
|
+
winget install --no-upgrade --name "Brave" --Id "Brave.Brave" --source winget --scope user --accept-package-agreements --accept-source-agreements
|
|
94
|
+
"""
|
|
95
|
+
case "Linux":
|
|
96
|
+
distribution = detect_current_linux_distribution()
|
|
97
|
+
console.print(f"🐧 Installing Brave Browser on {distribution.distribution_id} with its official repository...", style="bold")
|
|
98
|
+
program = _build_linux_install_script(distribution)
|
|
99
|
+
case "Darwin":
|
|
100
|
+
console.print("🍎 Installing Brave Browser on macOS...", style="bold")
|
|
101
|
+
program = "brew install --cask brave-browser"
|
|
102
|
+
case _:
|
|
103
|
+
error_msg = f"Unsupported platform: {system}"
|
|
104
|
+
console.print(Panel.fit(error_msg, title="❌ Error", subtitle="⚠️ Unsupported platform", border_style="red", box=box.ROUNDED))
|
|
105
|
+
raise NotImplementedError(error_msg)
|
|
106
|
+
|
|
107
|
+
print_code(code=program, lexer="shell", desc="Installation Script Preview")
|
|
108
|
+
result = run_shell_script(program, display_script=True, clean_env=False)
|
|
109
|
+
if result.returncode != 0:
|
|
110
|
+
raise RuntimeError(f"Brave Browser installation failed with exit code {result.returncode}")
|
|
111
|
+
console.print("✅ Installation completed successfully!", style="bold green")
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
if __name__ == "__main__":
|
|
115
|
+
if TYPE_CHECKING:
|
|
116
|
+
_main_protocol_check: InstallerPythonScriptMain = main
|
|
117
|
+
pass
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import platform
|
|
2
|
+
import subprocess
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from stackops.utils.installer_utils.installer_main_protocol import InstallerPythonScriptMain
|
|
6
|
+
from stackops.utils.installer_utils.linux_package_manager import LinuxDistribution, detect_current_linux_distribution
|
|
7
|
+
from stackops.utils.schemas.installer.installer_types import InstallerData
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def _build_linux_install_script(distribution: LinuxDistribution) -> str:
|
|
11
|
+
match (distribution.distribution_id, distribution.package_manager):
|
|
12
|
+
case ("alpine", "apk"):
|
|
13
|
+
raise NotImplementedError("Cloudflare WARP does not publish an Alpine Linux APK repository or package.")
|
|
14
|
+
case ("ubuntu" | "debian", "apt"):
|
|
15
|
+
repository_setup = """
|
|
16
|
+
echo "📥 Installing APT repository prerequisites..."
|
|
17
|
+
sudo apt-get update
|
|
18
|
+
sudo apt-get install -y curl gpg lsb-release
|
|
19
|
+
|
|
20
|
+
echo "🔐 Adding Cloudflare's current signing key..."
|
|
21
|
+
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
|
|
22
|
+
|
|
23
|
+
echo "📝 Adding Cloudflare's APT repository..."
|
|
24
|
+
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list > /dev/null
|
|
25
|
+
sudo apt-get update
|
|
26
|
+
"""
|
|
27
|
+
install_command = "sudo apt-get install -y cloudflare-warp"
|
|
28
|
+
case ("fedora", "dnf"):
|
|
29
|
+
repository_setup = """
|
|
30
|
+
echo "📥 Installing RPM repository prerequisites..."
|
|
31
|
+
sudo dnf install -y curl
|
|
32
|
+
|
|
33
|
+
echo "🔐 Importing Cloudflare's current signing key..."
|
|
34
|
+
sudo rpm --import https://pkg.cloudflareclient.com/pubkey.gpg
|
|
35
|
+
|
|
36
|
+
echo "📝 Adding Cloudflare's RPM repository..."
|
|
37
|
+
sudo curl -fsSLo /etc/yum.repos.d/cloudflare-warp.repo https://pkg.cloudflareclient.com/cloudflare-warp-ascii.repo
|
|
38
|
+
sudo dnf makecache --refresh
|
|
39
|
+
"""
|
|
40
|
+
install_command = "sudo dnf install -y cloudflare-warp"
|
|
41
|
+
case ("rhel" | "centos", "dnf"):
|
|
42
|
+
raise NotImplementedError("Cloudflare WARP on RHEL and CentOS requires an explicit, version-specific EPEL setup.")
|
|
43
|
+
case (unsupported_distribution_id, _):
|
|
44
|
+
raise NotImplementedError(
|
|
45
|
+
"Cloudflare's package repository does not support Linux distribution "
|
|
46
|
+
f"'{unsupported_distribution_id}'. Supported without extra repositories: ubuntu, debian, fedora."
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return f"""#!/usr/bin/env bash
|
|
50
|
+
set -euo pipefail
|
|
51
|
+
|
|
52
|
+
echo "🔒 Installing Cloudflare WARP on {distribution.distribution_id} with {distribution.package_manager}"
|
|
53
|
+
{repository_setup}
|
|
54
|
+
|
|
55
|
+
echo "📦 Installing Cloudflare WARP..."
|
|
56
|
+
{install_command}
|
|
57
|
+
|
|
58
|
+
echo "📡 Registering the WARP client..."
|
|
59
|
+
warp-cli registration new
|
|
60
|
+
|
|
61
|
+
echo "✅ Cloudflare WARP installation completed"
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def main(installer_data: InstallerData, version: str | None, update: bool) -> str:
|
|
66
|
+
_ = installer_data, version, update
|
|
67
|
+
system = platform.system()
|
|
68
|
+
match system:
|
|
69
|
+
case "Windows":
|
|
70
|
+
raise NotImplementedError("Installer is not yet implemented for Windows.")
|
|
71
|
+
case "Linux":
|
|
72
|
+
distribution = detect_current_linux_distribution()
|
|
73
|
+
program = _build_linux_install_script(distribution)
|
|
74
|
+
case "Darwin":
|
|
75
|
+
program = "brew install --cask cloudflare-warp"
|
|
76
|
+
case _:
|
|
77
|
+
raise NotImplementedError(f"Unsupported platform: {system}")
|
|
78
|
+
subprocess.run(["bash", "-c", program], text=True, check=True)
|
|
79
|
+
return f"Cloudflare WARP CLI installed successfully on {system}."
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
if __name__ == "__main__":
|
|
83
|
+
if TYPE_CHECKING:
|
|
84
|
+
_main_protocol_check: InstallerPythonScriptMain = main
|