stackops 26.6.3__tar.gz → 26.6.5__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.6.5/PKG-INFO +145 -0
- stackops-26.6.5/README.md +118 -0
- stackops-26.6.5/pyproject.toml +166 -0
- stackops-26.6.5/src/manual/test_dotfile_mapper_assets.py +29 -0
- stackops-26.6.5/src/manual/test_stackops_skill_refs.py +129 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +66 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/monitoring_types.py +42 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/session_conflict.py +352 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/status_reporting.py +43 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +256 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +189 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +320 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +76 -0
- stackops-26.6.5/src/stackops/cluster/sessions_managers/utils/load_balancer.py +56 -0
- stackops-26.6.5/src/stackops/jobs/installer/checks/security_helper.py +326 -0
- stackops-26.6.5/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +144 -0
- stackops-26.6.5/src/stackops/profile/create_helper.py +81 -0
- stackops-26.6.5/src/stackops/scripts/python/agents.py +438 -0
- stackops-26.6.5/src/stackops/scripts/python/agents_parallel.py +61 -0
- stackops-26.6.5/src/stackops/scripts/python/agents_parallel_commands.py +287 -0
- stackops-26.6.5/src/stackops/scripts/python/agents_parallel_run_command.py +122 -0
- stackops-26.6.5/src/stackops/scripts/python/agents_test_runtime.py +180 -0
- stackops-26.6.5/src/stackops/scripts/python/agents_type_fix.py +71 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/initai.py +140 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/initai_frameworks.py +57 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/initai_models.py +33 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/initai_rich_output.py +114 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/dashboard.py +258 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +376 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/models.py +163 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/models_config.py +326 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +213 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/scripts/models_reports.py +178 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/solutions/codex/config.toml +24 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/utils/generate_files.py +122 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/utils/generate_files_content.py +105 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/utils/generate_files_utils.py +136 -0
- stackops-26.6.5/src/stackops/scripts/python/ai/utils/generic.instructions.md +90 -0
- stackops-26.6.5/src/stackops/scripts/python/cloud.py +122 -0
- stackops-26.6.5/src/stackops/scripts/python/devops.py +202 -0
- stackops-26.6.5/src/stackops/scripts/python/ftpx.py +71 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/cli_graph.json +20640 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/cli_graph_apps.py +214 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/python_api_graph.py +506 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +191 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/dot_export.py +88 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/graph_data.py +142 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +20 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/plotly_views.py +197 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/python_api_graph_app.py +209 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/python_api_graph_search.py +236 -0
- stackops-26.6.5/src/stackops/scripts/python/graph/visualize/rich_tree.py +80 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +435 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +241 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +334 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +480 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +118 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_aoe_backend.py +51 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_backend.py +175 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_layouts.py +20 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +209 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +230 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +287 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +59 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +185 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +367 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +269 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_run_types.py +3 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +202 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_stackops_backend.py +148 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_types.py +3 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +667 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +37 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +188 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +422 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +166 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +131 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +387 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +310 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_prompts.py +153 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +484 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +166 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +237 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +160 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +292 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_repos_viz.py +128 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +224 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_self_clone.py +147 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +168 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_self_export.py +104 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_self_info.py +201 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +167 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +216 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +216 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +68 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +287 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +202 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +227 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +250 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +100 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +230 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +139 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +460 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_repos/grource.py +319 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_repos/sync.py +96 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/_aoe_backend.py +284 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +115 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +651 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +288 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +209 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +135 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +36 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_aoe.py +317 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_herdr.py +435 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_models.py +78 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +147 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +278 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +186 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +129 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +76 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +245 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +188 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_herdr.py +216 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +145 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +245 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +61 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +204 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace_render.py +196 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions/terminal_cli_helpers.py +84 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +287 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +43 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_check.py +139 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_setup.py +141 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_helpers.py +132 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/python.py +176 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/python_init.py +88 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +391 -0
- stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +93 -0
- stackops-26.6.5/src/stackops/scripts/python/stackops_entry.py +154 -0
- stackops-26.6.5/src/stackops/scripts/python/terminal.py +373 -0
- stackops-26.6.5/src/stackops/scripts/python/terminal_summarize.py +167 -0
- stackops-26.6.5/src/stackops/scripts/python/terminal_summary.py +726 -0
- stackops-26.6.5/src/stackops/scripts/python/utils.py +61 -0
- stackops-26.6.5/src/stackops/scripts/setup/linux/interactive.sh +31 -0
- stackops-26.6.5/src/stackops/scripts/setup/windows/interactive.ps1 +33 -0
- stackops-26.6.5/src/stackops/settings/helix/config.toml +27 -0
- stackops-26.6.5/src/stackops/settings/helix/yazi-picker.sh +37 -0
- stackops-26.6.5/src/stackops/settings/herdr/config.toml +75 -0
- stackops-26.6.5/src/stackops/settings/shells/bash/init.sh +109 -0
- stackops-26.6.5/src/stackops/settings/shells/zsh/init.sh +97 -0
- stackops-26.6.5/src/stackops/settings/yazi/keymap_darwin.toml +189 -0
- stackops-26.6.5/src/stackops/settings/yazi/keymap_linux.toml +183 -0
- stackops-26.6.5/src/stackops/settings/yazi/keymap_windows.toml +182 -0
- stackops-26.6.5/src/stackops/utils/cli_utils/alias_markers.py +69 -0
- stackops-26.6.5/src/stackops/utils/cli_utils/hierarchy.py +1339 -0
- stackops-26.6.5/src/stackops/utils/cli_utils/hierarchy_types.py +1587 -0
- stackops-26.6.5/src/stackops/utils/cloud/rclone.py +313 -0
- stackops-26.6.5/src/stackops/utils/code.py +209 -0
- stackops-26.6.5/src/stackops/utils/installer_utils/install_request_logic.py +190 -0
- stackops-26.6.5/src/stackops/utils/installer_utils/installer_class.py +411 -0
- stackops-26.6.5/src/stackops/utils/installer_utils/installer_cli.py +304 -0
- stackops-26.6.5/src/stackops/utils/installer_utils/installer_locator_utils.py +386 -0
- stackops-26.6.5/src/stackops/utils/installer_utils/installer_offline_constants.py +72 -0
- stackops-26.6.5/src/stackops/utils/optional_dependencies.py +5 -0
- stackops-26.6.5/src/stackops/utils/options_utils/options_tv_linux.py +234 -0
- stackops-26.6.5/src/stackops/utils/schemas/agents/parallel.schema.json +201 -0
- stackops-26.6.5/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +67 -0
- stackops-26.6.5/src/stackops/utils/schemas/installer/installer_data.json +6128 -0
- stackops-26.6.5/src/stackops/utils/schemas/installer/package_groups.py +310 -0
- stackops-26.6.5/src/stackops/utils/schemas/mapper/dotfiles.yaml +752 -0
- stackops-26.6.5/src/stackops/utils/ssh_utils/abc.py +28 -0
- stackops-26.6.5/src/stackops.egg-info/PKG-INFO +145 -0
- stackops-26.6.5/src/stackops.egg-info/SOURCES.txt +927 -0
- stackops-26.6.5/src/stackops.egg-info/requires.txt +15 -0
- stackops-26.6.3/PKG-INFO +0 -118
- stackops-26.6.3/README.md +0 -90
- stackops-26.6.3/pyproject.toml +0 -163
- stackops-26.6.3/src/manual/test_stackops_skill_refs.py +0 -74
- stackops-26.6.3/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -136
- stackops-26.6.3/src/stackops/cluster/sessions_managers/session_conflict.py +0 -374
- stackops-26.6.3/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +0 -247
- stackops-26.6.3/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +0 -183
- stackops-26.6.3/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -260
- stackops-26.6.3/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +0 -76
- stackops-26.6.3/src/stackops/cluster/sessions_managers/utils/load_balancer.py +0 -56
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_local.py +0 -251
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager.py +0 -366
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager_demo.py +0 -78
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote.py +0 -211
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote_manager.py +0 -314
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/__init__.py +0 -1
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/layout_generator.py +0 -175
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/local_monitoring.py +0 -83
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/manager_persistence.py +0 -52
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/monitoring_helpers.py +0 -50
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/process_monitor.py +0 -323
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/remote_executor.py +0 -142
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/session_manager.py +0 -270
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporter.py +0 -204
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporting.py +0 -76
- stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/wt_helpers.py +0 -210
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_local.py +0 -238
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_local_manager.py +0 -447
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_local_manager_helper.py +0 -165
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_remote.py +0 -194
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_remote_example.py +0 -72
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_remote_manager.py +0 -196
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/__init__.py +0 -1
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/layout_generator.py +0 -126
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/monitoring_types.py +0 -104
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/process_monitor.py +0 -286
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/remote_executor.py +0 -64
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/session_manager.py +0 -91
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/status_reporter.py +0 -89
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper.py +0 -344
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_restart.py +0 -77
- stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_with_panes.py +0 -228
- stackops-26.6.3/src/stackops/jobs/installer/checks/security_helper.py +0 -326
- stackops-26.6.3/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -134
- stackops-26.6.3/src/stackops/profile/create_helper.py +0 -70
- stackops-26.6.3/src/stackops/scripts/python/agents.py +0 -402
- stackops-26.6.3/src/stackops/scripts/python/agents_parallel.py +0 -61
- stackops-26.6.3/src/stackops/scripts/python/agents_parallel_commands.py +0 -220
- stackops-26.6.3/src/stackops/scripts/python/agents_parallel_run_command.py +0 -111
- stackops-26.6.3/src/stackops/scripts/python/agents_test_runtime.py +0 -180
- stackops-26.6.3/src/stackops/scripts/python/agents_type_fix.py +0 -71
- stackops-26.6.3/src/stackops/scripts/python/ai/initai.py +0 -188
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -261
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -380
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models.py +0 -175
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_config.py +0 -329
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -219
- stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -186
- stackops-26.6.3/src/stackops/scripts/python/ai/solutions/codex/config.toml +0 -30
- stackops-26.6.3/src/stackops/scripts/python/ai/utils/generate_files.py +0 -371
- stackops-26.6.3/src/stackops/scripts/python/ai/utils/generic.instructions.md +0 -91
- stackops-26.6.3/src/stackops/scripts/python/cloud.py +0 -120
- stackops-26.6.3/src/stackops/scripts/python/devops.py +0 -194
- stackops-26.6.3/src/stackops/scripts/python/ftpx.py +0 -39
- stackops-26.6.3/src/stackops/scripts/python/graph/cli_graph.json +0 -24484
- stackops-26.6.3/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -147
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +0 -208
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -80
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -141
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +0 -20
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -182
- stackops-26.6.3/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -72
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -413
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -226
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -327
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +0 -498
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +0 -115
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -203
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +0 -179
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +0 -263
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -56
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -180
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +0 -363
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +0 -258
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +0 -110
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -637
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -33
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +0 -197
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_zellij.py +0 -89
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +0 -418
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +0 -217
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +0 -123
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +0 -574
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +0 -309
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +0 -484
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +0 -164
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +0 -331
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +0 -159
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +0 -420
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +0 -635
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/app.py +0 -35
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_docs.py +0 -184
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_installer.py +0 -175
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_logic.py +0 -253
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_test.py +0 -186
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflow_capture.py +0 -99
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflows_yaml.py +0 -165
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +0 -167
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +0 -167
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +0 -217
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +0 -190
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +0 -54
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +0 -279
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +0 -248
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +0 -227
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +0 -250
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +0 -103
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +0 -229
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +0 -125
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +0 -460
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_repos/grource.py +0 -341
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_repos/sync.py +0 -94
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +0 -105
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +0 -445
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +0 -236
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +0 -194
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend.py +0 -276
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_focus.py +0 -145
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_layout.py +0 -117
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_metadata.py +0 -160
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_options.py +0 -256
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_preview.py +0 -81
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +0 -130
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +0 -24
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -218
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_zellij.py +0 -15
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -278
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +0 -197
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +0 -85
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +0 -71
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_aoe.py +0 -175
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +0 -261
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +0 -188
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_zellij.py +0 -79
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +0 -225
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +0 -228
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +0 -61
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +0 -329
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +0 -290
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +0 -417
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/python.py +0 -265
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +0 -380
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +0 -88
- stackops-26.6.3/src/stackops/scripts/python/stackops_entry.py +0 -152
- stackops-26.6.3/src/stackops/scripts/python/terminal.py +0 -530
- stackops-26.6.3/src/stackops/scripts/python/utils.py +0 -59
- stackops-26.6.3/src/stackops/scripts/setup/linux/interactive.sh +0 -31
- stackops-26.6.3/src/stackops/scripts/setup/windows/interactive.ps1 +0 -33
- stackops-26.6.3/src/stackops/settings/helix/config.toml +0 -43
- stackops-26.6.3/src/stackops/settings/helix/yazi-picker.sh +0 -12
- stackops-26.6.3/src/stackops/settings/shells/bash/init.sh +0 -109
- stackops-26.6.3/src/stackops/settings/shells/zsh/init.sh +0 -97
- stackops-26.6.3/src/stackops/settings/yazi/keymap_darwin.toml +0 -189
- stackops-26.6.3/src/stackops/settings/yazi/keymap_linux.toml +0 -183
- stackops-26.6.3/src/stackops/settings/yazi/keymap_windows.toml +0 -182
- stackops-26.6.3/src/stackops/settings/zellij/__init__.py +0 -1
- stackops-26.6.3/src/stackops/settings/zellij/commands/__init__.py +0 -2
- stackops-26.6.3/src/stackops/settings/zellij/commands/monitor +0 -9
- stackops-26.6.3/src/stackops/settings/zellij/commands/standard_panes +0 -33
- stackops-26.6.3/src/stackops/settings/zellij/config.kdl +0 -0
- stackops-26.6.3/src/stackops/settings/zellij/layouts/__init__.py +0 -5
- stackops-26.6.3/src/stackops/settings/zellij/layouts/hist +0 -13
- stackops-26.6.3/src/stackops/settings/zellij/layouts/panes.kdl +0 -20
- stackops-26.6.3/src/stackops/settings/zellij/layouts/st.kdl +0 -51
- stackops-26.6.3/src/stackops/settings/zellij/layouts/st2.kdl +0 -63
- stackops-26.6.3/src/stackops/settings/zellij/layouts/stacked_panes.kdl +0 -11
- stackops-26.6.3/src/stackops/utils/cli_utils/__init__.py +0 -0
- stackops-26.6.3/src/stackops/utils/cli_utils/hierarchy.py +0 -1397
- stackops-26.6.3/src/stackops/utils/cli_utils/hierarchy_types.py +0 -1659
- stackops-26.6.3/src/stackops/utils/cloud/rclone.py +0 -315
- stackops-26.6.3/src/stackops/utils/code.py +0 -209
- stackops-26.6.3/src/stackops/utils/files/ouch/__init__.py +0 -0
- stackops-26.6.3/src/stackops/utils/installer_utils/install_request_logic.py +0 -103
- stackops-26.6.3/src/stackops/utils/installer_utils/installer_class.py +0 -391
- stackops-26.6.3/src/stackops/utils/installer_utils/installer_cli.py +0 -260
- stackops-26.6.3/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -377
- stackops-26.6.3/src/stackops/utils/installer_utils/installer_offline_constants.py +0 -73
- stackops-26.6.3/src/stackops/utils/options_utils/__init__.py +0 -0
- stackops-26.6.3/src/stackops/utils/options_utils/options_tv_linux.py +0 -214
- stackops-26.6.3/src/stackops/utils/schemas/agents/parallel.schema.json +0 -192
- stackops-26.6.3/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +0 -66
- stackops-26.6.3/src/stackops/utils/schemas/installer/installer_data.json +0 -6064
- stackops-26.6.3/src/stackops/utils/schemas/installer/package_groups.py +0 -311
- stackops-26.6.3/src/stackops/utils/schemas/mapper/dotfiles.yaml +0 -759
- stackops-26.6.3/src/stackops/utils/ssh_utils/abc.py +0 -28
- stackops-26.6.3/src/stackops.egg-info/PKG-INFO +0 -118
- stackops-26.6.3/src/stackops.egg-info/SOURCES.txt +0 -952
- stackops-26.6.3/src/stackops.egg-info/requires.txt +0 -16
- {stackops-26.6.3 → stackops-26.6.5}/MANIFEST.in +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/setup.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/manual/test_path_references.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/manual/test_secrets_schema.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/manual/test_stackops_versioning.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/__main__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/graph.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/graph_css.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/graph_css_continued.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/graph_js.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/graph_js_continued.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/renderer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/architecture_graph/scanner.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/cloud_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/data_transfer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/distribute.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/execution_script.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/file_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/job_params.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/notification.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/notifications.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/remote/remote_machine.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/scheduler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/helpers/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
- {stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal → stackops-26.6.5/src/stackops/jobs}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples → stackops-26.6.5/src/stackops/jobs/installer/checks}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/checks/install_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/checks/vt_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/q.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij → stackops-26.6.5/src/stackops/jobs/installer/macos_scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
- {stackops-26.6.3/src/stackops/jobs → stackops-26.6.5/src/stackops/jobs/installer/python_scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/boxes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/brave.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/code.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/cursor.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/docker.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/espanso.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/hx.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/lvim.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/nerdfont.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/orca.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/poppler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/redis.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/rmpc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/termusic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/winget.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/yazi.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/python_scripts/ytui_music.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/installer/todo.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/jobs/scripts_dynamic/system_compute_analyzer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/logger.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/create_links.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/create_links_export.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/create_shell_profile.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/dotfiles_mapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/linking/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/linking/conflict.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/linking/operations.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/profile/linking/options.py +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/checks → stackops-26.6.5/src/stackops/scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/linux/wrap_stackops +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/nu/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/macos_scripts → stackops-26.6.5/src/stackops/scripts/python}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/agents_browser.py +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/python_scripts → stackops-26.6.5/src/stackops/scripts/python/ai}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/models_core.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
- {stackops-26.6.3/src/stackops/scripts → stackops-26.6.5/src/stackops/scripts/python/ai/solutions}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/antigravity/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/auggie}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/copilot}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/droid}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/forge/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/oz/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/pi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/auggie → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/q}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/copilot → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/qwen_code}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/droid → stackops-26.6.5/src/stackops/scripts/python/ai/solutions/warp}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/q → stackops-26.6.5/src/stackops/scripts/python/ai/utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/utils/shared.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/enums.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/fire_jobs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/qwen_code → stackops-26.6.5/src/stackops/scripts/python/graph/visualize}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/warp → stackops-26.6.5/src/stackops/scripts/python/graph/visualize/helpers_navigator}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/graph/visualize/plotly_browser.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/utils → stackops-26.6.5/src/stackops/scripts/python/helpers}/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/graph/visualize → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp-browser-url.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-cli.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-user-data-dir.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/graph/visualize/helpers_navigator → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_cloud}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_tmux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_interactive.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_devops/vault.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_env/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_env/path_manager_backend.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_fire_command}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_network}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_preview}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/pomodoro.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/scheduler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/viewer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_preview/viewer_template.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/record.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_search/script_help.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command → stackops-26.6.5/src/stackops/scripts/python/helpers/helpers_sessions}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/processes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/python_env.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/surya.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/helpers/helpers_utils/upgrade_packages.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/python/seek.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/linux/live_from_github.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/linux/uv.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/macos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/macos/uv.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/windows/live_from_github.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai → stackops-26.6.5/src/stackops/scripts/windows}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
- {stackops-26.6.3/src/stackops/scripts/windows → stackops-26.6.5/src/stackops/secrets}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/assets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/loader.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/readers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/secrets/search.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network → stackops-26.6.5/src/stackops/settings}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/atuin/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/atuin/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/atuin/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/broot/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/broot/br.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/broot/brootcd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/broot/conf.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/glow/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/glow/glow.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/helix/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/helix/languages.toml +0 -0
- {stackops-26.6.3/src/stackops/secrets → stackops-26.6.5/src/stackops/settings/herdr}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keras/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keras/keras.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/colors +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/previewer.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/icons +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/linux/lfrc +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/colors +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/icons +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/lfrc +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lf/windows/previewer.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/.flake8 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/.mypy.ini +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/.pylintrc +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/.ruff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/pyrefly.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/linters/ty.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/linux/config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/marimo/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/marimo/marimo.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/mprocs/windows/other +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/ollama/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/ollama/server.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/pistol/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/pistol/pistol.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/presenterm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/presenterm/config.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/procs/.procs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/description.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.local.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/pudb/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/pudb/pudb.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/rofi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/rofi/config.rasi +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/rofi/config_default.rasi +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/bash/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/ghostty/config +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_preview → stackops-26.6.5/src/stackops/settings/shells/ipy/profiles/default}/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions → stackops-26.6.5/src/stackops/settings/shells/ipy/profiles/default/startup}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/kitty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/nushell/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/nushell/config.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/nushell/env.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/nushell/init.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/pwsh/init.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/starship/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/starship/starship.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/vtm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/vtm/settings.xml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/wt/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/wt/settings.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/shells/zsh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/streamlit/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/streamlit/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/svim/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/svim/linux/init.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/svim/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/svim/windows/init.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/env.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/path.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/text.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/env.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/television/cable_windows/text.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tere/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tere/terecd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tere/terecd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tmux/tmux.conf.local +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tv/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tv/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tv/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/wsl/.wslconfig +0 -0
- {stackops-26.6.3/src/stackops/settings → stackops-26.6.5/src/stackops/settings/wt}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/wt/set_wt_settings.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/init.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/interactive_view.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/shell/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/theme.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/zed/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/settings/zed/settings.json +0 -0
- {stackops-26.6.3/src/stackops/settings/shells/ipy/profiles/default → stackops-26.6.5/src/stackops/utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/accessories.py +0 -0
- {stackops-26.6.3/src/stackops/settings/shells/ipy/profiles/default/startup → stackops-26.6.5/src/stackops/utils/cli_utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cli_utils/command_lookup.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cli_utils/terminal.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/defaults.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/encryption.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/onedrive/README.md +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/cloud/rclone_wrapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/art/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/art/fat_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/art/happy_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/art/water_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/ascii_art.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/compression.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/dbms.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/download.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/f.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/headers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/notebook.py +0 -0
- {stackops-26.6.3/src/stackops/settings/wt → stackops-26.6.5/src/stackops/utils/files/ouch}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/ouch/decompress.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/files/read.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/install_from_url.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_explore.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_main_protocol.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_scripts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_runner.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/io.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/machine/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/machine/specs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/meta.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/network/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/network/address.py +0 -0
- {stackops-26.6.3/src/stackops/utils → stackops-26.6.5/src/stackops/utils/options_utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/options_utils/options.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/options_utils/textual_options_form.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/options_utils/textual_options_form_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/options_utils/tv_options.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/path_core.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/path_reference.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/python/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/python/imports.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/repos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/repos/stackops_paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/agents/prompts.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/config/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/config/config.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/config/config.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/config/config_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/fire_agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/installer/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/installer/installer_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/layouts/layout.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/layouts/layout_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/mapper/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/mapper/data.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/mapper/data.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/mapper/dotfiles.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/repos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/schemas/yaml_schema.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/source_of_truth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/ssh_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/ssh_utils/ssh.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/ssh_utils/wsl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops/version.py +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops.egg-info/dependency_links.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops.egg-info/entry_points.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.5}/src/stackops.egg-info/top_level.txt +0 -0
stackops-26.6.5/PKG-INFO
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: stackops
|
|
3
|
+
Version: 26.6.5
|
|
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: joblib>=1.5.3
|
|
17
|
+
Requires-Dist: psutil>=7.2.2
|
|
18
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
19
|
+
Requires-Dist: questionary>=2.1.1
|
|
20
|
+
Requires-Dist: randomname>=0.2.1
|
|
21
|
+
Requires-Dist: requests>=2.32.5
|
|
22
|
+
Requires-Dist: rich>=14.3.3
|
|
23
|
+
Requires-Dist: tenacity>=9.1.4
|
|
24
|
+
Requires-Dist: typer>=0.24.1
|
|
25
|
+
Provides-Extra: windows
|
|
26
|
+
Provides-Extra: plot
|
|
27
|
+
|
|
28
|
+
<div align="center">
|
|
29
|
+
|
|
30
|
+
<h1>🗜 StackOps</h1>
|
|
31
|
+
|
|
32
|
+
<strong>Digital Life Manager.</strong>
|
|
33
|
+
|
|
34
|
+
<p>
|
|
35
|
+
<a href="https://thisismygitrepo.github.io/stackops/"><img alt="Docs" src="https://img.shields.io/badge/docs-online-2f6f6f"></a>
|
|
36
|
+
<a href="https://pypi.org/project/stackops/"><img alt="PyPI package" src="https://img.shields.io/pypi/v/stackops?color=2f6f6f"></a>
|
|
37
|
+
<img alt="Python 3.13+" src="https://img.shields.io/badge/python-3.13%2B-3776AB">
|
|
38
|
+
<img alt="Installed with uv" src="https://img.shields.io/badge/install-uv-f05d23">
|
|
39
|
+
</p>
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
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.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
| Before | After |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
|  |  |
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
See the [online docs](https://thisismygitrepo.github.io/stackops/) for full usage and reference material.
|
|
52
|
+
|
|
53
|
+
## Install
|
|
54
|
+
|
|
55
|
+
Choose your platform and expand only the commands you need.
|
|
56
|
+
|
|
57
|
+
<details>
|
|
58
|
+
<summary><strong>Linux</strong></summary>
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
62
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
63
|
+
stackops --help
|
|
64
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
</details>
|
|
68
|
+
|
|
69
|
+
<details>
|
|
70
|
+
<summary><strong>macOS</strong></summary>
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
74
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
75
|
+
stackops --help
|
|
76
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
</details>
|
|
80
|
+
|
|
81
|
+
<details>
|
|
82
|
+
<summary><strong>Windows PowerShell</strong></summary>
|
|
83
|
+
|
|
84
|
+
```powershell
|
|
85
|
+
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
86
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
87
|
+
stackops --help
|
|
88
|
+
# OR: irm bit.ly/sopsw | iex
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
</details>
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## Codex Skill
|
|
95
|
+
|
|
96
|
+
Install the StackOps skill for Codex with:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
bunx skills add thisismygitrepo/stackops --skill stackops --global --agent codex --yes
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## Quick Init
|
|
104
|
+
|
|
105
|
+
Run these once StackOps is installed.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
devops install --group sysabc
|
|
109
|
+
devops config copy-assets all
|
|
110
|
+
devops config sync down \
|
|
111
|
+
--sensitivity public \
|
|
112
|
+
--method copy \
|
|
113
|
+
--on-conflict throw-error \
|
|
114
|
+
--which all
|
|
115
|
+
devops config terminal config-shell --which default
|
|
116
|
+
devops install --group termabc
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
## CLI
|
|
121
|
+
|
|
122
|
+
StackOps exposes standalone commands and an umbrella wrapper:
|
|
123
|
+
|
|
124
|
+
| Command | Purpose |
|
|
125
|
+
| --- | --- |
|
|
126
|
+
| `devops` | Package installation, repo automation, config/data sync, self-management, networking, script execution, vault |
|
|
127
|
+
| `cloud` | Cloud sync, copy, mount, and SSH transfer helpers |
|
|
128
|
+
| `terminal` | Terminal session and layout management |
|
|
129
|
+
| `agents` | AI agent scaffolding, MCP catalog installs, prompt runs, parallel workflows |
|
|
130
|
+
| `utils` | General-purpose utility commands |
|
|
131
|
+
| `fire` | File, function, notebook, and app runner |
|
|
132
|
+
| `preview` | File preview and `uv run` backend launcher |
|
|
133
|
+
| `seek` | Interactive search across files, text matches, and symbols |
|
|
134
|
+
| `stackops` | Umbrella wrapper that routes into all of the above |
|
|
135
|
+
|
|
136
|
+
Run `<command> --help` for details, or `stackops --help` to see the full tree.
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
## Author
|
|
140
|
+
|
|
141
|
+
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
142
|
+
|
|
143
|
+
## Contributor
|
|
144
|
+
|
|
145
|
+
Ruby Chan. [email](mailto:ruby.chan@sa.gov.au)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<h1>🗜 StackOps</h1>
|
|
4
|
+
|
|
5
|
+
<strong>Digital Life Manager.</strong>
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://thisismygitrepo.github.io/stackops/"><img alt="Docs" src="https://img.shields.io/badge/docs-online-2f6f6f"></a>
|
|
9
|
+
<a href="https://pypi.org/project/stackops/"><img alt="PyPI package" src="https://img.shields.io/pypi/v/stackops?color=2f6f6f"></a>
|
|
10
|
+
<img alt="Python 3.13+" src="https://img.shields.io/badge/python-3.13%2B-3776AB">
|
|
11
|
+
<img alt="Installed with uv" src="https://img.shields.io/badge/install-uv-f05d23">
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
| Before | After |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
|  |  |
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
See the [online docs](https://thisismygitrepo.github.io/stackops/) for full usage and reference material.
|
|
25
|
+
|
|
26
|
+
## Install
|
|
27
|
+
|
|
28
|
+
Choose your platform and expand only the commands you need.
|
|
29
|
+
|
|
30
|
+
<details>
|
|
31
|
+
<summary><strong>Linux</strong></summary>
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
35
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
36
|
+
stackops --help
|
|
37
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
</details>
|
|
41
|
+
|
|
42
|
+
<details>
|
|
43
|
+
<summary><strong>macOS</strong></summary>
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
47
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
48
|
+
stackops --help
|
|
49
|
+
# OR: . < (curl -L https://bit.ly/sopsu)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
</details>
|
|
53
|
+
|
|
54
|
+
<details>
|
|
55
|
+
<summary><strong>Windows PowerShell</strong></summary>
|
|
56
|
+
|
|
57
|
+
```powershell
|
|
58
|
+
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
59
|
+
uv tool install --upgrade --python 3.14 stackops
|
|
60
|
+
stackops --help
|
|
61
|
+
# OR: irm bit.ly/sopsw | iex
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
</details>
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Codex Skill
|
|
68
|
+
|
|
69
|
+
Install the StackOps skill for Codex with:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
bunx skills add thisismygitrepo/stackops --skill stackops --global --agent codex --yes
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## Quick Init
|
|
77
|
+
|
|
78
|
+
Run these once StackOps is installed.
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
devops install --group sysabc
|
|
82
|
+
devops config copy-assets all
|
|
83
|
+
devops config sync down \
|
|
84
|
+
--sensitivity public \
|
|
85
|
+
--method copy \
|
|
86
|
+
--on-conflict throw-error \
|
|
87
|
+
--which all
|
|
88
|
+
devops config terminal config-shell --which default
|
|
89
|
+
devops install --group termabc
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## CLI
|
|
94
|
+
|
|
95
|
+
StackOps exposes standalone commands and an umbrella wrapper:
|
|
96
|
+
|
|
97
|
+
| Command | Purpose |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| `devops` | Package installation, repo automation, config/data sync, self-management, networking, script execution, vault |
|
|
100
|
+
| `cloud` | Cloud sync, copy, mount, and SSH transfer helpers |
|
|
101
|
+
| `terminal` | Terminal session and layout management |
|
|
102
|
+
| `agents` | AI agent scaffolding, MCP catalog installs, prompt runs, parallel workflows |
|
|
103
|
+
| `utils` | General-purpose utility commands |
|
|
104
|
+
| `fire` | File, function, notebook, and app runner |
|
|
105
|
+
| `preview` | File preview and `uv run` backend launcher |
|
|
106
|
+
| `seek` | Interactive search across files, text matches, and symbols |
|
|
107
|
+
| `stackops` | Umbrella wrapper that routes into all of the above |
|
|
108
|
+
|
|
109
|
+
Run `<command> --help` for details, or `stackops --help` to see the full tree.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
## Author
|
|
113
|
+
|
|
114
|
+
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
115
|
+
|
|
116
|
+
## Contributor
|
|
117
|
+
|
|
118
|
+
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.6.5"
|
|
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
|
+
"joblib>=1.5.3",
|
|
26
|
+
"psutil>=7.2.2",
|
|
27
|
+
"pyyaml>=6.0.3",
|
|
28
|
+
"questionary>=2.1.1",
|
|
29
|
+
"randomname>=0.2.1",
|
|
30
|
+
"requests>=2.32.5",
|
|
31
|
+
"rich>=14.3.3",
|
|
32
|
+
"tenacity>=9.1.4",
|
|
33
|
+
"typer>=0.24.1",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.optional-dependencies]
|
|
37
|
+
windows = []
|
|
38
|
+
plot = [
|
|
39
|
+
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
[project.urls]
|
|
44
|
+
"Homepage" = "https://github.com/thisismygitrepo/stackops"
|
|
45
|
+
"Bug Tracker" = "https://github.com/thisismygitrepo/stackops/issues"
|
|
46
|
+
|
|
47
|
+
[project.scripts]
|
|
48
|
+
devops = "stackops.scripts.python.devops:main"
|
|
49
|
+
cloud = "stackops.scripts.python.cloud:main"
|
|
50
|
+
fire = "stackops.scripts.python.fire_jobs:main"
|
|
51
|
+
agents = "stackops.scripts.python.agents:main"
|
|
52
|
+
terminal = "stackops.scripts.python.terminal:main"
|
|
53
|
+
preview = "stackops.scripts.python.preview:main"
|
|
54
|
+
utils = "stackops.scripts.python.utils:main"
|
|
55
|
+
stackops = "stackops.scripts.python.stackops_entry:main"
|
|
56
|
+
seek = "stackops.scripts.python.seek:main"
|
|
57
|
+
|
|
58
|
+
[tool.setuptools]
|
|
59
|
+
package-dir = {"" = "src"}
|
|
60
|
+
include-package-data = true
|
|
61
|
+
license-files = []
|
|
62
|
+
|
|
63
|
+
[tool.setuptools.packages.find]
|
|
64
|
+
where = ["src"]
|
|
65
|
+
|
|
66
|
+
[tool.setuptools.package-data]
|
|
67
|
+
stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/schemas/**/*.json", "utils/schemas/**/*.yaml"]
|
|
68
|
+
|
|
69
|
+
[dependency-groups]
|
|
70
|
+
dev = [
|
|
71
|
+
"aider>=0.2.6",
|
|
72
|
+
"build>=1.4.1",
|
|
73
|
+
"cleanpy>=0.5.1",
|
|
74
|
+
"cowsay>=6.1",
|
|
75
|
+
"duckdb>=1.5.1",
|
|
76
|
+
"gdown>=5.2.1",
|
|
77
|
+
"griffe>=2.0.2",
|
|
78
|
+
"ipdb>=0.13.13",
|
|
79
|
+
"ipykernel>=7.2.0",
|
|
80
|
+
"ipython>=9.11.0",
|
|
81
|
+
"kaleido>=1.2.0",
|
|
82
|
+
"marimo>=0.21.1",
|
|
83
|
+
"matplotlib>=3.10.8",
|
|
84
|
+
"mkdocstrings>=1.0.3",
|
|
85
|
+
"mkdocstrings-python>=2.0.3",
|
|
86
|
+
"mypy>=1.19.1",
|
|
87
|
+
"numpy>=2.4.3",
|
|
88
|
+
"pandas>=3.0.1",
|
|
89
|
+
"paramiko>=5.0.0",
|
|
90
|
+
"plotly>=6.6.0",
|
|
91
|
+
"polars>=1.39.3",
|
|
92
|
+
"pre-commit>=4.5.1",
|
|
93
|
+
"pudb>=2025.1.5",
|
|
94
|
+
"py7zr>=1.1.0",
|
|
95
|
+
"pydantic>=2.12.5",
|
|
96
|
+
"pydeps>=3.0.2",
|
|
97
|
+
"pyinstaller>=6.19.0",
|
|
98
|
+
"pylint>=4.0.5",
|
|
99
|
+
"pylsp-mypy>=0.7.1",
|
|
100
|
+
"pymupdf>=1.27.2.2",
|
|
101
|
+
"pypdf>=6.9.2",
|
|
102
|
+
"pyrefly>=0.58.0",
|
|
103
|
+
"pyright>=1.1.408",
|
|
104
|
+
"pytest>=9.0.2",
|
|
105
|
+
"python-lsp-server[mypy]>=1.14.0",
|
|
106
|
+
"qrcode>=8.2",
|
|
107
|
+
"ruff>=0.15.7",
|
|
108
|
+
"ruff-lsp>=0.0.62",
|
|
109
|
+
"sqlalchemy>=2.0.48",
|
|
110
|
+
"textual>=8.1.1",
|
|
111
|
+
"trogon>=0.6.0",
|
|
112
|
+
"ty>=0.0.25",
|
|
113
|
+
"types-mysqlclient>=2.2.0.20250915",
|
|
114
|
+
"types-paramiko>=4.0.0.20260322",
|
|
115
|
+
"types-pytz>=2026.1.1.20260304",
|
|
116
|
+
"types-pyyaml>=6.0.12.20250915",
|
|
117
|
+
"types-requests>=2.32.4.20260324",
|
|
118
|
+
"types-sqlalchemy>=1.4.53.38",
|
|
119
|
+
"types-toml>=0.10.8.20240310",
|
|
120
|
+
"types-urllib3>=1.26.25.14",
|
|
121
|
+
"vt-py>=0.22.0",
|
|
122
|
+
"yapf>=0.43.0",
|
|
123
|
+
"zensical>=0.0.29",
|
|
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.1",
|
|
132
|
+
"ipykernel>=7.2.0",
|
|
133
|
+
"ipython>=9.11.0",
|
|
134
|
+
"jupyterlab>=4.5.6",
|
|
135
|
+
"kaleido>=1.2.0",
|
|
136
|
+
"matplotlib>=3.10.8",
|
|
137
|
+
"nbformat>=5.10.4",
|
|
138
|
+
"numpy>=2.4.3",
|
|
139
|
+
"plotly>=6.6.0",
|
|
140
|
+
"polars>=1.39.3",
|
|
141
|
+
"python-magic>=0.4.27",
|
|
142
|
+
"sqlalchemy>=2.0.48",
|
|
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,29 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
import yaml
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
7
|
+
MAPPER_PATH = REPO_ROOT / "src" / "stackops" / "utils" / "schemas" / "mapper" / "dotfiles.yaml"
|
|
8
|
+
SETTINGS_ROOT = REPO_ROOT / "src" / "stackops" / "settings"
|
|
9
|
+
CONFIG_SETTINGS_PREFIX = "CONFIG_ROOT/settings/"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_library_mapper_config_settings_targets_are_packaged() -> None:
|
|
13
|
+
mapper = yaml.safe_load(MAPPER_PATH.read_text(encoding="utf-8")) or {}
|
|
14
|
+
missing_assets: list[str] = []
|
|
15
|
+
|
|
16
|
+
for program_name, entries in mapper.items():
|
|
17
|
+
for entry_name, entry in entries.items():
|
|
18
|
+
self_managed = entry["self_managed"]
|
|
19
|
+
if not self_managed.startswith(CONFIG_SETTINGS_PREFIX):
|
|
20
|
+
continue
|
|
21
|
+
|
|
22
|
+
relative_asset_path = self_managed.removeprefix(CONFIG_SETTINGS_PREFIX)
|
|
23
|
+
packaged_asset_path = SETTINGS_ROOT / relative_asset_path
|
|
24
|
+
if not packaged_asset_path.exists():
|
|
25
|
+
missing_assets.append(
|
|
26
|
+
f"{program_name}.{entry_name}: {self_managed} -> {packaged_asset_path.relative_to(REPO_ROOT)}"
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
assert missing_assets == [], "Missing packaged settings assets:\n" + "\n".join(missing_assets)
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
from datetime import date
|
|
2
|
+
|
|
3
|
+
from typer.testing import CliRunner
|
|
4
|
+
|
|
5
|
+
from stackops.scripts.python.graph.cli_graph_apps import load_app_model
|
|
6
|
+
from stackops.scripts.python.graph.cli_graph_nodes import build_children
|
|
7
|
+
from stackops.scripts.python.graph.cli_graph_shared import AppRef
|
|
8
|
+
from stackops.scripts.python.helpers.helpers_devops import cli_self_assets, stackops_skill_refs
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
SAMPLE_GRAPH = {
|
|
12
|
+
"root": {
|
|
13
|
+
"kind": "root",
|
|
14
|
+
"name": "stackops",
|
|
15
|
+
"source": {"file": "src/stackops/scripts/python/stackops_entry.py"},
|
|
16
|
+
"children": [
|
|
17
|
+
{
|
|
18
|
+
"kind": "group",
|
|
19
|
+
"name": "devops",
|
|
20
|
+
"fullPath": "devops",
|
|
21
|
+
"source": {
|
|
22
|
+
"file": "src/stackops/scripts/python/stackops_entry.py",
|
|
23
|
+
"dispatches_to": "stackops.scripts.python.devops.get_app",
|
|
24
|
+
},
|
|
25
|
+
"aliases": [{"name": "d", "hidden": True}],
|
|
26
|
+
"children": [
|
|
27
|
+
{
|
|
28
|
+
"kind": "command",
|
|
29
|
+
"name": "install",
|
|
30
|
+
"fullPath": "devops install",
|
|
31
|
+
"source": {"file": "src/stackops/scripts/python/devops.py", "callable": "install"},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"kind": "group",
|
|
35
|
+
"name": "data",
|
|
36
|
+
"fullPath": "devops data",
|
|
37
|
+
"source": {
|
|
38
|
+
"file": "src/stackops/scripts/python/devops.py",
|
|
39
|
+
"dispatches_to": "stackops.scripts.python.helpers.helpers_devops.cli_data.get_app",
|
|
40
|
+
},
|
|
41
|
+
"children": [
|
|
42
|
+
{
|
|
43
|
+
"kind": "command",
|
|
44
|
+
"name": "sync",
|
|
45
|
+
"fullPath": "devops data sync",
|
|
46
|
+
"source": {
|
|
47
|
+
"file": "src/stackops/scripts/python/helpers/helpers_devops/cli_data.py",
|
|
48
|
+
"callable": "sync",
|
|
49
|
+
},
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "group",
|
|
57
|
+
"name": "type-fix",
|
|
58
|
+
"fullPath": "utils pyproject type-fix",
|
|
59
|
+
"source": {
|
|
60
|
+
"file": "src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py",
|
|
61
|
+
"dispatches_to": "stackops.scripts.python.helpers.helpers_utils.type_fix.get_app",
|
|
62
|
+
},
|
|
63
|
+
"children": [],
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_cli_map_uses_high_level_references_without_alias_nodes() -> None:
|
|
71
|
+
rendered = stackops_skill_refs.render_cli_map(
|
|
72
|
+
cli_graph_payload=SAMPLE_GRAPH,
|
|
73
|
+
project_scripts={"devops": "stackops.scripts.python.devops:main"},
|
|
74
|
+
generated_on=date(2026, 6, 9),
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
assert "Regenerated from `src/stackops/scripts/python/graph/cli_graph.json` on 2026-06-09." in rendered
|
|
78
|
+
assert "- `devops` -> `stackops.scripts.python.devops:main`" in rendered
|
|
79
|
+
assert "- `UV_CACHE_DIR=/tmp/uv-cache uv run stackops --help`" in rendered
|
|
80
|
+
assert "- `UV_CACHE_DIR=/tmp/uv-cache uv run devops --help`" in rendered
|
|
81
|
+
assert "devops install" not in rendered
|
|
82
|
+
assert "devops data sync" not in rendered
|
|
83
|
+
assert "commands/command--" not in rendered
|
|
84
|
+
assert "\n- [`d`" not in rendered
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def test_source_map_links_root_entrypoints_only() -> None:
|
|
88
|
+
rendered = stackops_skill_refs.render_source_map(cli_graph_payload=SAMPLE_GRAPH, generated_on=date(2026, 6, 9))
|
|
89
|
+
|
|
90
|
+
assert (
|
|
91
|
+
"- `devops` -> `src/stackops/scripts/python/stackops_entry.py` -> "
|
|
92
|
+
"`stackops.scripts.python.devops.get_app` via `devops`"
|
|
93
|
+
) in rendered
|
|
94
|
+
assert "devops install" not in rendered
|
|
95
|
+
assert "devops data sync" not in rendered
|
|
96
|
+
assert "commands/command--" not in rendered
|
|
97
|
+
assert "commands/command--" not in rendered
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def test_update_skill_refs_command_is_registered() -> None:
|
|
101
|
+
result = CliRunner().invoke(cli_self_assets.get_app(), ["--help"])
|
|
102
|
+
|
|
103
|
+
assert result.exit_code == 0
|
|
104
|
+
assert "update-skill-refs" in result.stdout
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def test_cli_graph_expands_static_loop_command_registrations() -> None:
|
|
108
|
+
app_model = load_app_model(
|
|
109
|
+
AppRef(
|
|
110
|
+
module="stackops.scripts.python.helpers.helpers_devops.cli_config_tmux",
|
|
111
|
+
factory="get_app",
|
|
112
|
+
)
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
children = build_children(
|
|
116
|
+
app_model=app_model,
|
|
117
|
+
parent_full_tokens=("devops", "config", "terminal", "tmux-style"),
|
|
118
|
+
parent_short_tokens=("d", "c", "t", "s"),
|
|
119
|
+
)
|
|
120
|
+
child_names = {child["name"] for child in children}
|
|
121
|
+
|
|
122
|
+
assert {
|
|
123
|
+
"install-oh-my-tmux",
|
|
124
|
+
"apply-stackops-local",
|
|
125
|
+
"preset",
|
|
126
|
+
"set-option",
|
|
127
|
+
"reload",
|
|
128
|
+
"status",
|
|
129
|
+
} <= child_names
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Enhanced command execution utilities with Rich formatting."""
|
|
3
|
+
|
|
4
|
+
import subprocess
|
|
5
|
+
|
|
6
|
+
from rich.console import Console
|
|
7
|
+
from rich.panel import Panel
|
|
8
|
+
from rich.progress import Progress, SpinnerColumn, TextColumn
|
|
9
|
+
|
|
10
|
+
console = Console()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def run_enhanced_command(
|
|
14
|
+
command: str,
|
|
15
|
+
description: str | None,
|
|
16
|
+
show_progress: bool,
|
|
17
|
+
timeout: int | None,
|
|
18
|
+
) -> dict[str, object]:
|
|
19
|
+
if description is None:
|
|
20
|
+
description = f"Executing: {command[:50]}..."
|
|
21
|
+
|
|
22
|
+
try:
|
|
23
|
+
if show_progress:
|
|
24
|
+
with Progress(SpinnerColumn(), TextColumn("[progress.description]{task.description}"), console=console, transient=True) as progress:
|
|
25
|
+
task = progress.add_task(f"[cyan]{description}[/cyan]", total=None)
|
|
26
|
+
|
|
27
|
+
result = subprocess.run(command, shell=True, capture_output=True, text=True, timeout=timeout)
|
|
28
|
+
|
|
29
|
+
progress.update(task, completed=True)
|
|
30
|
+
else:
|
|
31
|
+
result = subprocess.run(command, shell=True, capture_output=True, text=True, timeout=timeout)
|
|
32
|
+
|
|
33
|
+
stdout = result.stdout.strip() if result.stdout else ""
|
|
34
|
+
stderr = result.stderr.strip() if result.stderr else ""
|
|
35
|
+
|
|
36
|
+
if "Session:" in stdout and "successfully deleted" in stdout:
|
|
37
|
+
console.print(f"[bold red]{stdout}[/bold red]")
|
|
38
|
+
|
|
39
|
+
if "Pseudo-terminal will not be allocated" in stderr:
|
|
40
|
+
console.print("[dim yellow]ℹ️ Note: Running in non-interactive mode[/dim yellow]")
|
|
41
|
+
stderr = stderr.replace("Pseudo-terminal will not be allocated because stdin is not a terminal.\n", "")
|
|
42
|
+
|
|
43
|
+
if result.returncode == 0:
|
|
44
|
+
if stdout and "Session:" not in stdout:
|
|
45
|
+
console.print(f"[green]{stdout}[/green]")
|
|
46
|
+
return {"success": True, "returncode": result.returncode, "stdout": stdout, "stderr": stderr}
|
|
47
|
+
else:
|
|
48
|
+
if stderr:
|
|
49
|
+
console.print(f"[bold red]Error:[/bold red] [red]{stderr}[/red]")
|
|
50
|
+
return {"success": False, "returncode": result.returncode, "stdout": stdout, "stderr": stderr}
|
|
51
|
+
|
|
52
|
+
except subprocess.TimeoutExpired:
|
|
53
|
+
console.print(f"[bold red]⏰ Command timed out after {timeout} seconds[/bold red]")
|
|
54
|
+
return {"success": False, "error": "Timeout", "timeout": timeout}
|
|
55
|
+
except Exception as exc:
|
|
56
|
+
console.print(f"[bold red]💥 Unexpected error:[/bold red] [red]{str(exc)}[/red]")
|
|
57
|
+
return {"success": False, "error": str(exc)}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
if __name__ == "__main__":
|
|
61
|
+
# Demo the enhanced command execution
|
|
62
|
+
console.print(Panel.fit("🎨 Enhanced Command Execution Demo", style="bold cyan"))
|
|
63
|
+
|
|
64
|
+
# Test with a simple command
|
|
65
|
+
result = run_enhanced_command("echo 'Hello, Rich world!'", "Testing enhanced output", True, None)
|
|
66
|
+
console.print(f"Result: {result}")
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from typing import NotRequired, TypedDict
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ProcessInfo(TypedDict):
|
|
5
|
+
pid: int
|
|
6
|
+
name: str
|
|
7
|
+
cmdline: list[str]
|
|
8
|
+
status: str
|
|
9
|
+
cmdline_str: NotRequired[str]
|
|
10
|
+
create_time: NotRequired[float]
|
|
11
|
+
is_direct_command: NotRequired[bool]
|
|
12
|
+
verified_alive: NotRequired[bool]
|
|
13
|
+
memory_mb: NotRequired[float]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CommandStatus(TypedDict):
|
|
17
|
+
status: str
|
|
18
|
+
running: bool
|
|
19
|
+
processes: list[ProcessInfo]
|
|
20
|
+
command: str
|
|
21
|
+
tab_name: str
|
|
22
|
+
cwd: NotRequired[str]
|
|
23
|
+
error: NotRequired[str]
|
|
24
|
+
pid: NotRequired[int]
|
|
25
|
+
remote: NotRequired[str]
|
|
26
|
+
check_timestamp: NotRequired[str | float]
|
|
27
|
+
method: NotRequired[str]
|
|
28
|
+
raw_output: NotRequired[str]
|
|
29
|
+
verification_method: NotRequired[str]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class StartResult(TypedDict):
|
|
33
|
+
success: bool
|
|
34
|
+
message: NotRequired[str]
|
|
35
|
+
error: NotRequired[str]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class ActiveSessionInfo(TypedDict):
|
|
39
|
+
session_name: str
|
|
40
|
+
is_active: bool
|
|
41
|
+
tab_count: int
|
|
42
|
+
tabs: list[str]
|