stackops 26.6.3__tar.gz → 26.6.4__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.3/src/stackops.egg-info → stackops-26.6.4}/PKG-INFO +22 -4
- {stackops-26.6.3 → stackops-26.6.4}/README.md +21 -2
- {stackops-26.6.3 → stackops-26.6.4}/pyproject.toml +5 -2
- stackops-26.6.4/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +66 -0
- stackops-26.6.4/src/stackops/cluster/sessions_managers/monitoring_types.py +42 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/session_conflict.py +24 -35
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +12 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +7 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +2 -2
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/utils/load_balancer.py +4 -4
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_local.py +0 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/process_monitor.py +0 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/remote_executor.py +0 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/security_helper.py +2 -2
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents.py +19 -11
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_parallel.py +4 -4
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_parallel_run_command.py +6 -4
- stackops-26.6.4/src/stackops/scripts/python/ai/utils/generate_files.py +122 -0
- stackops-26.6.4/src/stackops/scripts/python/ai/utils/generate_files_content.py +105 -0
- stackops-26.6.4/src/stackops/scripts/python/ai/utils/generate_files_utils.py +136 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/cloud.py +5 -4
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ftpx.py +45 -13
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph.json +10769 -11209
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +15 -32
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +23 -24
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +3 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +78 -28
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +23 -16
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +9 -5
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +27 -16
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_agents/agents_run_types.py +3 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +11 -4
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_types.py +3 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +5 -17
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +5 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +51 -102
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +49 -41
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +126 -313
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +4 -3
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_prompts.py +153 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +8 -8
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +37 -35
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +57 -152
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +11 -10
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +17 -145
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_repos_viz.py +128 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +218 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/app.py +5 -5
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_docs.py +51 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflows_yaml.py +2 -2
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_self_clone.py +147 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +2 -1
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_self_export.py +104 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/cli_self_info.py +193 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +3 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +2 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +26 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +18 -4
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +13 -5
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +2 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +36 -22
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +50 -50
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/grource.py +18 -40
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/sync.py +8 -11
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +24 -14
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +87 -24
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +67 -25
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +17 -2
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +13 -12
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +10 -7
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +29 -47
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +26 -19
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +20 -15
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_aoe.py +13 -13
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +4 -20
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +3 -22
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +19 -21
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +3 -3
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +167 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace_render.py +196 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_sessions/terminal_cli_helpers.py +79 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +43 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_check.py +139 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_setup.py +141 -0
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_helpers.py +132 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/python.py +3 -92
- stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_utils/python_init.py +88 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +31 -20
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +8 -3
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/terminal.py +33 -164
- stackops-26.6.4/src/stackops/scripts/python/terminal_summarize.py +128 -0
- stackops-26.6.4/src/stackops/scripts/python/terminal_summary.py +149 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/linux/interactive.sh +8 -8
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/windows/interactive.ps1 +9 -9
- stackops-26.6.4/src/stackops/settings/helix/config.toml +27 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/bash/init.sh +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/zsh/init.sh +1 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/rclone.py +10 -12
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/code.py +2 -2
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_constants.py +0 -1
- stackops-26.6.4/src/stackops/utils/optional_dependencies.py +5 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/installer/installer_data.json +22 -22
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/installer/package_groups.py +0 -1
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/mapper/dotfiles.yaml +0 -14
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/ssh_utils/abc.py +1 -1
- {stackops-26.6.3 → stackops-26.6.4/src/stackops.egg-info}/PKG-INFO +22 -4
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops.egg-info/SOURCES.txt +19 -38
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops.egg-info/requires.txt +0 -1
- 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/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/scripts/python/ai/utils/generate_files.py +0 -371
- 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_self.py +0 -635
- 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/session_trace_zellij.py +0 -15
- 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_trace.py +0 -329
- stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +0 -417
- 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/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/options_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/MANIFEST.in +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/setup.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/manual/test_path_references.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/manual/test_secrets_schema.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/manual/test_stackops_skill_refs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/manual/test_stackops_versioning.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/__main__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/graph.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/graph_css.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/graph_css_continued.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/graph_js.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/graph_js_continued.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/renderer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/architecture_graph/scanner.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/cloud_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/data_transfer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/distribute.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/execution_script.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/file_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/job_params.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/notification.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/notifications.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/remote/remote_machine.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/scheduler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/helpers/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager_demo.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/layout_generator.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/local_monitoring.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/manager_persistence.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/monitoring_helpers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/session_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporter.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporting.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/wt_helpers.py +0 -0
- {stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij → stackops-26.6.4/src/stackops/jobs}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/jobs → stackops-26.6.4/src/stackops/jobs/installer/checks}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/install_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/checks/vt_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/q.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/checks → stackops-26.6.4/src/stackops/jobs/installer/macos_scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/macos_scripts → stackops-26.6.4/src/stackops/jobs/installer/python_scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/boxes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/brave.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/code.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/cursor.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/docker.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/espanso.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/hx.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/lvim.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/nerdfont.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/orca.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/poppler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/redis.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/rmpc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/termusic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/winget.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/yazi.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/python_scripts/ytui_music.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/installer/todo.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/jobs/scripts_dynamic/system_compute_analyzer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/logger.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/create_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/create_links.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/create_links_export.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/create_shell_profile.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/dotfiles_mapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/linking/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/linking/conflict.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/linking/operations.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/profile/linking/options.py +0 -0
- {stackops-26.6.3/src/stackops/jobs/installer/python_scripts → stackops-26.6.4/src/stackops/scripts}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/linux/wrap_stackops +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/nu/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
- {stackops-26.6.3/src/stackops/scripts → stackops-26.6.4/src/stackops/scripts/python}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_browser.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_parallel_commands.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_test_runtime.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_type_fix.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python → stackops-26.6.4/src/stackops/scripts/python/ai}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/initai.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models_config.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models_core.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai → stackops-26.6.4/src/stackops/scripts/python/ai/solutions}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/antigravity/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/auggie}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/codex/config.toml +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/auggie → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/copilot}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/copilot → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/droid}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/forge/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/oz/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/pi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/droid → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/q}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/q → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/qwen_code}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/qwen_code → stackops-26.6.4/src/stackops/scripts/python/ai/solutions/warp}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/solutions/warp → stackops-26.6.4/src/stackops/scripts/python/ai/utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/utils/generic.instructions.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/utils/shared.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/devops.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/enums.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/fire_jobs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/ai/utils → stackops-26.6.4/src/stackops/scripts/python/graph/visualize}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/graph/visualize → stackops-26.6.4/src/stackops/scripts/python/graph/visualize/helpers_navigator}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/plotly_browser.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/graph/visualize/helpers_navigator → stackops-26.6.4/src/stackops/scripts/python/helpers}/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_agents}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/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.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-cli.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/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.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_cloud}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_tmux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_interactive.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_installer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_logic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_test.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflow_capture.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_devops/vault.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_env/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_env/path_manager_backend.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_fire_command}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/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_fire_command → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_network}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_preview}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/pomodoro.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/scheduler.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/viewer.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_preview/viewer_template.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/record.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_search/script_help.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_preview → stackops-26.6.4/src/stackops/scripts/python/helpers/helpers_sessions}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/processes.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/python_env.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/surya.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/helpers/helpers_utils/upgrade_packages.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/seek.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/stackops_entry.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/linux/live_from_github.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/linux/uv.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/macos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/macos/uv.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/windows/live_from_github.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/assets.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/loader.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/readers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/secrets/search.py +0 -0
- {stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions → stackops-26.6.4/src/stackops/settings}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/atuin/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/atuin/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/atuin/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/broot/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/broot/br.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/broot/brootcd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/broot/conf.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/glow/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/glow/glow.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/helix/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/helix/languages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keras/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keras/keras.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/colors +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/previewer.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/icons +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/linux/lfrc +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/colors +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/icons +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/lfrc +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lf/windows/previewer.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/.flake8 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/.mypy.ini +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/.pylintrc +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/.ruff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/pyrefly.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/linters/ty.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/linux/config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/marimo/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/marimo/marimo.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/mprocs/windows/other +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/ollama/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/ollama/server.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/pistol/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/pistol/pistol.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/presenterm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/presenterm/config.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/procs/.procs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/description.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.local.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/pudb/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/pudb/pudb.cfg +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/rofi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/rofi/config.rasi +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/rofi/config_default.rasi +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/bash/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/ghostty/config +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
- {stackops-26.6.3/src/stackops/settings → stackops-26.6.4/src/stackops/settings/shells/ipy/profiles/default}/__init__.py +0 -0
- {stackops-26.6.3/src/stackops/settings/shells/ipy/profiles/default → stackops-26.6.4/src/stackops/settings/shells/ipy/profiles/default/startup}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/kitty/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/nushell/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/nushell/config.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/nushell/env.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/nushell/init.nu +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/pwsh/init.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/starship/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/starship/starship.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/vtm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/vtm/settings.xml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/wt/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/wt/settings.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/shells/zsh/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/streamlit/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/streamlit/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/svim/linux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/svim/linux/init.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/svim/windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/svim/windows/init.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/env.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/path.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/text.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/env.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/files.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/television/cable_windows/text.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tere/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tere/terecd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tere/terecd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tmux/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tmux/tmux.conf.local +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tv/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tv/config.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tv/themes/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/wsl/.wslconfig +0 -0
- {stackops-26.6.3/src/stackops/settings/shells/ipy/profiles/default/startup → stackops-26.6.4/src/stackops/settings/wt}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/wt/set_wt_settings.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/init.lua +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/keymap_darwin.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/keymap_linux.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/keymap_windows.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/interactive_view.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/shell/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/theme.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/zed/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/settings/zed/settings.json +0 -0
- {stackops-26.6.3/src/stackops/settings/wt → stackops-26.6.4/src/stackops/utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/accessories.py +0 -0
- {stackops-26.6.3/src/stackops/utils → stackops-26.6.4/src/stackops/utils/cli_utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cli_utils/command_lookup.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cli_utils/hierarchy.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cli_utils/hierarchy_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cli_utils/terminal.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/defaults.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/encryption.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/onedrive/README.md +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/cloud/rclone_wrapper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/art/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/art/fat_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/art/happy_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/art/water_croco.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/ascii_art.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/compression.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/dbms.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/download.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/f.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/headers.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/notebook.py +0 -0
- {stackops-26.6.3/src/stackops/utils/cli_utils → stackops-26.6.4/src/stackops/utils/files/ouch}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/ouch/decompress.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/files/read.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/install_from_url.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/install_request_logic.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_class.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_cli.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_explore.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_main_protocol.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_scripts.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_runner.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/io.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/machine/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/machine/specs.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/meta.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/network/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/network/address.py +0 -0
- {stackops-26.6.3/src/stackops/utils/files/ouch → stackops-26.6.4/src/stackops/utils/options_utils}/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/options.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/options_tv_linux.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/textual_options_form.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/textual_options_form_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/options_utils/tv_options.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/path_core.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/path_reference.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/python/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/python/imports.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/repos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/repos/stackops_paths.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/agents/parallel.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/agents/prompts.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/config/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/config/config.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/config/config.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/config/config_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/fire_agents/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/installer/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/installer/installer_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/layouts/layout.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/layouts/layout_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/mapper/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/mapper/data.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/mapper/data.yaml +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/mapper/dotfiles.schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/repos/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/schemas/yaml_schema.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/source_of_truth.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/ssh_utils/__init__.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/ssh_utils/ssh.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/ssh_utils/wsl.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops/version.py +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops.egg-info/dependency_links.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops.egg-info/entry_points.txt +0 -0
- {stackops-26.6.3 → stackops-26.6.4}/src/stackops.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackops
|
|
3
|
-
Version: 26.6.
|
|
3
|
+
Version: 26.6.4
|
|
4
4
|
Summary: Developer Stack Manager
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -14,7 +14,6 @@ Description-Content-Type: text/markdown
|
|
|
14
14
|
Requires-Dist: fire>=0.7.1
|
|
15
15
|
Requires-Dist: gitpython>=3.1.46
|
|
16
16
|
Requires-Dist: joblib>=1.5.3
|
|
17
|
-
Requires-Dist: paramiko>=4.0.0
|
|
18
17
|
Requires-Dist: psutil>=7.2.2
|
|
19
18
|
Requires-Dist: pyyaml>=6.0.3
|
|
20
19
|
Requires-Dist: questionary>=2.1.1
|
|
@@ -41,7 +40,7 @@ Provides-Extra: plot
|
|
|
41
40
|
|
|
42
41
|
</div>
|
|
43
42
|
|
|
44
|
-
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
|
|
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.
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
| Before | After |
|
|
@@ -102,13 +101,32 @@ devops config copy-assets all
|
|
|
102
101
|
devops config sync down \
|
|
103
102
|
--sensitivity public \
|
|
104
103
|
--method copy \
|
|
105
|
-
--on-conflict
|
|
104
|
+
--on-conflict throw-error \
|
|
106
105
|
--which all
|
|
107
106
|
devops config terminal config-shell --which default
|
|
108
107
|
devops install --group termabc
|
|
109
108
|
```
|
|
110
109
|
|
|
111
110
|
|
|
111
|
+
## CLI
|
|
112
|
+
|
|
113
|
+
StackOps exposes standalone commands and an umbrella wrapper:
|
|
114
|
+
|
|
115
|
+
| Command | Purpose |
|
|
116
|
+
| --- | --- |
|
|
117
|
+
| `devops` | Package installation, repo automation, config/data sync, self-management, networking, script execution, vault |
|
|
118
|
+
| `cloud` | Cloud sync, copy, mount, and SSH transfer helpers |
|
|
119
|
+
| `terminal` | Terminal session and layout management |
|
|
120
|
+
| `agents` | AI agent scaffolding, MCP catalog installs, prompt runs, parallel workflows |
|
|
121
|
+
| `utils` | General-purpose utility commands |
|
|
122
|
+
| `fire` | File, function, notebook, and app runner |
|
|
123
|
+
| `preview` | File preview and `uv run` backend launcher |
|
|
124
|
+
| `seek` | Interactive search across files, text matches, and symbols |
|
|
125
|
+
| `stackops` | Umbrella wrapper that routes into all of the above |
|
|
126
|
+
|
|
127
|
+
Run `<command> --help` for details, or `stackops --help` to see the full tree.
|
|
128
|
+
|
|
129
|
+
|
|
112
130
|
## Author
|
|
113
131
|
|
|
114
132
|
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
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
|
|
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
17
|
|
|
18
18
|
|
|
19
19
|
| Before | After |
|
|
@@ -74,13 +74,32 @@ devops config copy-assets all
|
|
|
74
74
|
devops config sync down \
|
|
75
75
|
--sensitivity public \
|
|
76
76
|
--method copy \
|
|
77
|
-
--on-conflict
|
|
77
|
+
--on-conflict throw-error \
|
|
78
78
|
--which all
|
|
79
79
|
devops config terminal config-shell --which default
|
|
80
80
|
devops install --group termabc
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
|
|
84
|
+
## CLI
|
|
85
|
+
|
|
86
|
+
StackOps exposes standalone commands and an umbrella wrapper:
|
|
87
|
+
|
|
88
|
+
| Command | Purpose |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| `devops` | Package installation, repo automation, config/data sync, self-management, networking, script execution, vault |
|
|
91
|
+
| `cloud` | Cloud sync, copy, mount, and SSH transfer helpers |
|
|
92
|
+
| `terminal` | Terminal session and layout management |
|
|
93
|
+
| `agents` | AI agent scaffolding, MCP catalog installs, prompt runs, parallel workflows |
|
|
94
|
+
| `utils` | General-purpose utility commands |
|
|
95
|
+
| `fire` | File, function, notebook, and app runner |
|
|
96
|
+
| `preview` | File preview and `uv run` backend launcher |
|
|
97
|
+
| `seek` | Interactive search across files, text matches, and symbols |
|
|
98
|
+
| `stackops` | Umbrella wrapper that routes into all of the above |
|
|
99
|
+
|
|
100
|
+
Run `<command> --help` for details, or `stackops --help` to see the full tree.
|
|
101
|
+
|
|
102
|
+
|
|
84
103
|
## Author
|
|
85
104
|
|
|
86
105
|
Alex Al-Saffar. [email](mailto:programmer@usa.com)
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "stackops"
|
|
9
|
-
version = "26.6.
|
|
9
|
+
version = "26.6.4"
|
|
10
10
|
description = "Developer Stack Manager"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -23,7 +23,6 @@ dependencies = [
|
|
|
23
23
|
"fire>=0.7.1",
|
|
24
24
|
"gitpython>=3.1.46",
|
|
25
25
|
"joblib>=1.5.3",
|
|
26
|
-
"paramiko>=4.0.0",
|
|
27
26
|
"psutil>=7.2.2",
|
|
28
27
|
"pyyaml>=6.0.3",
|
|
29
28
|
"questionary>=2.1.1",
|
|
@@ -87,6 +86,7 @@ dev = [
|
|
|
87
86
|
"mypy>=1.19.1",
|
|
88
87
|
"numpy>=2.4.3",
|
|
89
88
|
"pandas>=3.0.1",
|
|
89
|
+
"paramiko>=5.0.0",
|
|
90
90
|
"plotly>=6.6.0",
|
|
91
91
|
"polars>=1.39.3",
|
|
92
92
|
"pre-commit>=4.5.1",
|
|
@@ -143,6 +143,9 @@ plot = [
|
|
|
143
143
|
]
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
# [tool.uv]
|
|
147
|
+
# default-groups = []
|
|
148
|
+
|
|
146
149
|
[tool.pycrucible]
|
|
147
150
|
entry = "src/stackops/scripts/python/devops.py"
|
|
148
151
|
[tool.pycrucible.options]
|
|
@@ -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]
|
{stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/session_conflict.py
RENAMED
|
@@ -5,18 +5,20 @@ import subprocess
|
|
|
5
5
|
from typing import Literal, NotRequired, TypedDict
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
SessionBackend = Literal["
|
|
8
|
+
SessionBackend = Literal["tmux", "windows-terminal"]
|
|
9
9
|
SessionConflictActionLoose = Literal[
|
|
10
10
|
"restart", "r",
|
|
11
11
|
"rename", "n",
|
|
12
12
|
"error", "e",
|
|
13
|
+
"skip", "s",
|
|
13
14
|
"mergeOverwrite", "m",
|
|
14
|
-
"mergeSkip", "
|
|
15
|
+
"mergeSkip", "M",
|
|
15
16
|
]
|
|
16
17
|
SessionConflictAction = Literal[
|
|
17
18
|
"restart",
|
|
18
19
|
"rename",
|
|
19
20
|
"error",
|
|
21
|
+
"skip",
|
|
20
22
|
"mergeOverwrite",
|
|
21
23
|
"mergeSkip",
|
|
22
24
|
]
|
|
@@ -27,10 +29,12 @@ SessionConflictActionLoose2Strict: dict[SessionConflictActionLoose, SessionConfl
|
|
|
27
29
|
"n": "rename",
|
|
28
30
|
"error": "error",
|
|
29
31
|
"e": "error",
|
|
32
|
+
"skip": "skip",
|
|
33
|
+
"s": "skip",
|
|
30
34
|
"mergeOverwrite": "mergeOverwrite",
|
|
31
35
|
"m": "mergeOverwrite",
|
|
32
36
|
"mergeSkip": "mergeSkip",
|
|
33
|
-
"
|
|
37
|
+
"M": "mergeSkip",
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
ConflictSource = Literal["existing", "duplicate"]
|
|
@@ -39,6 +43,7 @@ SUPPORTED_SESSION_CONFLICT_ACTIONS = frozenset(
|
|
|
39
43
|
"restart",
|
|
40
44
|
"rename",
|
|
41
45
|
"error",
|
|
46
|
+
"skip",
|
|
42
47
|
"mergeOverwrite",
|
|
43
48
|
"mergeSkip",
|
|
44
49
|
}
|
|
@@ -99,21 +104,21 @@ def _build_launch_plan(
|
|
|
99
104
|
def _existing_conflict_hint(backend: SessionBackend) -> str:
|
|
100
105
|
if backend in MERGE_NEW_WINDOWS_SUPPORTED_BACKENDS:
|
|
101
106
|
return (
|
|
102
|
-
"Use --on-conflict restart, --on-conflict rename, "
|
|
107
|
+
"Use --on-conflict restart, --on-conflict rename, --on-conflict skip, "
|
|
103
108
|
"--on-conflict mergeOverwrite, or "
|
|
104
109
|
"--on-conflict mergeSkip."
|
|
105
110
|
)
|
|
106
|
-
return "Use --on-conflict restart or --on-conflict
|
|
111
|
+
return "Use --on-conflict restart, --on-conflict rename, or --on-conflict skip."
|
|
107
112
|
|
|
108
113
|
|
|
109
114
|
def _duplicate_conflict_hint(backend: SessionBackend) -> str:
|
|
110
115
|
if backend in MERGE_NEW_WINDOWS_SUPPORTED_BACKENDS:
|
|
111
116
|
return (
|
|
112
|
-
"Use unique layout names, --on-conflict rename, "
|
|
117
|
+
"Use unique layout names, --on-conflict rename, --on-conflict skip, "
|
|
113
118
|
"--on-conflict mergeOverwrite, or "
|
|
114
119
|
"--on-conflict mergeSkip."
|
|
115
120
|
)
|
|
116
|
-
return "Use unique layout names or --on-conflict
|
|
121
|
+
return "Use unique layout names, --on-conflict rename, or --on-conflict skip."
|
|
117
122
|
|
|
118
123
|
|
|
119
124
|
def list_existing_sessions(backend: SessionBackend) -> set[str]:
|
|
@@ -133,24 +138,6 @@ def list_existing_sessions(backend: SessionBackend) -> set[str]:
|
|
|
133
138
|
return set()
|
|
134
139
|
return {line.strip() for line in result.stdout.splitlines() if line.strip()}
|
|
135
140
|
|
|
136
|
-
if backend == "zellij":
|
|
137
|
-
result = subprocess.run(
|
|
138
|
-
["zellij", "list-sessions"],
|
|
139
|
-
capture_output=True,
|
|
140
|
-
text=True,
|
|
141
|
-
timeout=10,
|
|
142
|
-
check=False,
|
|
143
|
-
)
|
|
144
|
-
if result.returncode != 0:
|
|
145
|
-
return set()
|
|
146
|
-
sessions: set[str] = set()
|
|
147
|
-
for line in result.stdout.splitlines():
|
|
148
|
-
cleaned = line.strip()
|
|
149
|
-
if not cleaned:
|
|
150
|
-
continue
|
|
151
|
-
sessions.add(cleaned.split()[0])
|
|
152
|
-
return sessions
|
|
153
|
-
|
|
154
141
|
if backend == "windows-terminal":
|
|
155
142
|
from stackops.cluster.sessions_managers.windows_terminal.wt_utils.wt_helpers import POWERSHELL_CMD
|
|
156
143
|
|
|
@@ -265,6 +252,18 @@ def build_session_launch_plan(
|
|
|
265
252
|
)
|
|
266
253
|
planned_sessions.add(requested_name)
|
|
267
254
|
continue
|
|
255
|
+
case "skip":
|
|
256
|
+
if conflict_with_existing or conflict_with_planned:
|
|
257
|
+
plans.append(
|
|
258
|
+
_build_launch_plan(
|
|
259
|
+
requested_name=requested_name,
|
|
260
|
+
session_name=requested_name,
|
|
261
|
+
restart_required=False,
|
|
262
|
+
conflict_source=conflict_source,
|
|
263
|
+
skip_launch=True,
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
continue
|
|
268
267
|
case "error":
|
|
269
268
|
if conflict_with_planned:
|
|
270
269
|
raise SessionConflictError(
|
|
@@ -343,16 +342,6 @@ def kill_existing_session(backend: SessionBackend, session_name: str) -> None:
|
|
|
343
342
|
)
|
|
344
343
|
return
|
|
345
344
|
|
|
346
|
-
if backend == "zellij":
|
|
347
|
-
subprocess.run(
|
|
348
|
-
["zellij", "delete-session", "--force", session_name],
|
|
349
|
-
capture_output=True,
|
|
350
|
-
text=True,
|
|
351
|
-
timeout=10,
|
|
352
|
-
check=False,
|
|
353
|
-
)
|
|
354
|
-
return
|
|
355
|
-
|
|
356
345
|
if backend == "windows-terminal":
|
|
357
346
|
from stackops.cluster.sessions_managers.windows_terminal.wt_utils.wt_helpers import POWERSHELL_CMD
|
|
358
347
|
|
{stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py
RENAMED
|
@@ -27,7 +27,7 @@ from stackops.cluster.sessions_managers.tmux.tmux_utils.tmux_layout import (
|
|
|
27
27
|
build_tmux_script_from_commands,
|
|
28
28
|
validate_layout_config,
|
|
29
29
|
)
|
|
30
|
-
from stackops.cluster.sessions_managers.
|
|
30
|
+
from stackops.cluster.sessions_managers.monitoring_types import CommandStatus
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
console = Console()
|
|
@@ -195,7 +195,13 @@ class TmuxLayoutGenerator:
|
|
|
195
195
|
self,
|
|
196
196
|
launch_plan: SessionLaunchPlan,
|
|
197
197
|
on_conflict: SessionConflictAction,
|
|
198
|
-
) ->
|
|
198
|
+
) -> bool:
|
|
199
|
+
if launch_plan.get("skip_launch", False):
|
|
200
|
+
console.print(
|
|
201
|
+
f"[bold cyan]⏭️ Skipping tmux session[/bold cyan] [cyan]'{launch_plan['session_name']}'[/cyan]"
|
|
202
|
+
)
|
|
203
|
+
self.launch_commands = []
|
|
204
|
+
return False
|
|
199
205
|
if launch_plan["session_name"] != self.session_name:
|
|
200
206
|
console.print(
|
|
201
207
|
f"[bold yellow]📝 Renaming tmux session[/bold yellow] [yellow]'{self.session_name}'[/yellow] "
|
|
@@ -208,13 +214,16 @@ class TmuxLayoutGenerator:
|
|
|
208
214
|
)
|
|
209
215
|
kill_existing_session("tmux", self.session_name)
|
|
210
216
|
self.prepare_launch_script(on_conflict=on_conflict)
|
|
217
|
+
return True
|
|
211
218
|
|
|
212
219
|
def run(self, on_conflict: SessionConflictAction) -> dict[str, str | int]:
|
|
213
220
|
launch_plan = build_session_launch_plan([self.session_name], backend="tmux", on_conflict=on_conflict)[0]
|
|
214
|
-
self.apply_launch_plan(
|
|
221
|
+
should_launch = self.apply_launch_plan(
|
|
215
222
|
launch_plan=launch_plan,
|
|
216
223
|
on_conflict=on_conflict,
|
|
217
224
|
)
|
|
225
|
+
if not should_launch:
|
|
226
|
+
return {"returncode": 0, "stdout": "", "stderr": ""}
|
|
218
227
|
if len(self.launch_commands) == 0:
|
|
219
228
|
raise RuntimeError("tmux launch commands were not prepared")
|
|
220
229
|
run_tmux_commands(
|
|
@@ -21,7 +21,7 @@ from stackops.cluster.sessions_managers.tmux.tmux_utils.tmux_status import (
|
|
|
21
21
|
build_unknown_command_status,
|
|
22
22
|
check_tmux_session_status,
|
|
23
23
|
)
|
|
24
|
-
from stackops.cluster.sessions_managers.
|
|
24
|
+
from stackops.cluster.sessions_managers.monitoring_types import CommandStatus, StartResult
|
|
25
25
|
from stackops.cluster.sessions_managers.windows_terminal.wt_utils.status_reporting import calculate_global_summary_from_status
|
|
26
26
|
|
|
27
27
|
|
|
@@ -73,6 +73,12 @@ class TmuxLocalManager:
|
|
|
73
73
|
for manager, plan in zip(self.managers, launch_plan, strict=True):
|
|
74
74
|
original_session_name = manager.session_name or "unknown"
|
|
75
75
|
session_name = original_session_name
|
|
76
|
+
if plan.get("skip_launch", False):
|
|
77
|
+
results[session_name] = {
|
|
78
|
+
"success": True,
|
|
79
|
+
"message": f"Skipped existing session '{session_name}'",
|
|
80
|
+
}
|
|
81
|
+
continue
|
|
76
82
|
try:
|
|
77
83
|
manager.apply_launch_plan(
|
|
78
84
|
launch_plan=plan,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import subprocess
|
|
3
3
|
from typing import NotRequired, TypedDict
|
|
4
4
|
|
|
5
|
-
from stackops.cluster.sessions_managers.
|
|
5
|
+
from stackops.cluster.sessions_managers.monitoring_types import CommandStatus
|
|
6
6
|
from stackops.utils.schemas.layouts.layout_types import TabConfig
|
|
7
7
|
|
|
8
8
|
|
|
@@ -73,4 +73,4 @@ def build_unknown_command_status(tab_config: TabConfig) -> CommandStatus:
|
|
|
73
73
|
"command": tab_config["command"],
|
|
74
74
|
"tab_name": tab_config["tabName"],
|
|
75
75
|
"cwd": tab_config["startDir"],
|
|
76
|
-
}
|
|
76
|
+
}
|
{stackops-26.6.3 → stackops-26.6.4}/src/stackops/cluster/sessions_managers/utils/load_balancer.py
RENAMED
|
@@ -48,9 +48,9 @@ def limit_tab_weight(layout_configs: list[LayoutConfig], max_weight: int, comman
|
|
|
48
48
|
return new_layout_configs
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
def run(layouts: list[LayoutConfig], on_conflict: SessionConflictAction):
|
|
52
|
-
from stackops.cluster.sessions_managers.
|
|
53
|
-
manager =
|
|
54
|
-
manager.start_all_sessions(on_conflict=on_conflict
|
|
51
|
+
def run(layouts: list[LayoutConfig], on_conflict: SessionConflictAction) -> None:
|
|
52
|
+
from stackops.cluster.sessions_managers.tmux.tmux_local_manager import TmuxLocalManager
|
|
53
|
+
manager = TmuxLocalManager(session_layouts=layouts, session_name_prefix=None, exit_mode="backToShell")
|
|
54
|
+
manager.start_all_sessions(on_conflict=on_conflict)
|
|
55
55
|
manager.run_monitoring_routine(wait_ms=2000)
|
|
56
56
|
manager.kill_all_sessions()
|
|
@@ -12,7 +12,7 @@ from stackops.cluster.scheduler import Scheduler, LoggerTemplate
|
|
|
12
12
|
from stackops.cluster.sessions_managers.windows_terminal.wt_local import WTLayoutGenerator
|
|
13
13
|
from stackops.cluster.sessions_managers.windows_terminal.wt_utils.wt_helpers import check_wt_session_status
|
|
14
14
|
from stackops.utils.schemas.layouts.layout_types import LayoutConfig
|
|
15
|
-
from stackops.cluster.sessions_managers.
|
|
15
|
+
from stackops.cluster.sessions_managers.monitoring_types import ActiveSessionInfo, StartResult
|
|
16
16
|
from stackops.cluster.sessions_managers.windows_terminal.wt_utils.manager_persistence import (
|
|
17
17
|
generate_session_id, save_json_file, load_json_file, list_saved_sessions_in_dir, delete_session_dir, ensure_session_dir_exists
|
|
18
18
|
)
|
|
@@ -4,8 +4,6 @@ from pathlib import Path
|
|
|
4
4
|
from collections.abc import Mapping, Sequence
|
|
5
5
|
from typing import TYPE_CHECKING, Literal
|
|
6
6
|
|
|
7
|
-
from stackops.jobs.installer.checks.vt_utils import summarize_scan_results
|
|
8
|
-
|
|
9
7
|
if TYPE_CHECKING:
|
|
10
8
|
from rich.table import Table
|
|
11
9
|
|
|
@@ -118,6 +116,8 @@ def _build_empty_app_data(app_row: AppMetadataRow) -> AppData:
|
|
|
118
116
|
|
|
119
117
|
|
|
120
118
|
def build_app_data_list(app_rows: Sequence[AppMetadataRow], engine_rows: Sequence[StoredEngineReportRow]) -> list[AppData]:
|
|
119
|
+
from stackops.jobs.installer.checks.vt_utils import summarize_scan_results
|
|
120
|
+
|
|
121
121
|
engine_rows_by_app: dict[str, list[StoredEngineReportRow]] = {}
|
|
122
122
|
for engine_row in engine_rows:
|
|
123
123
|
engine_rows_by_app.setdefault(engine_row["app_name"], []).append(engine_row)
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"""Agents management commands - lazy loading subcommands."""
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
import shlex
|
|
5
4
|
from typing import Annotated, Final, Literal, TypeAlias, cast, get_args
|
|
6
5
|
|
|
7
6
|
import typer
|
|
8
7
|
|
|
9
|
-
from stackops.scripts.python.agents_browser import get_app as get_browser_app
|
|
10
|
-
from stackops.scripts.python.agents_parallel import get_app as get_parallel_app
|
|
11
|
-
from stackops.scripts.python.helpers.helpers_agents.agents_run_context import PROMPTS_SOURCE
|
|
12
|
-
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS
|
|
13
|
-
from stackops.scripts.python.helpers.helpers_agents.mcp_install import MCP_INSTALL_SCOPE
|
|
14
8
|
from stackops.scripts.python.helpers.helpers_agents.mcp_types import MCP_CATALOG_SOURCE
|
|
15
|
-
from stackops.scripts.python.helpers.helpers_agents.agents_skill_impl import SKILL_INSTALL_SCOPE
|
|
16
9
|
from stackops.scripts.python.helpers.helpers_agents.reasoning_capabilities import ReasoningEffort, ReasoningShortcut
|
|
10
|
+
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS
|
|
11
|
+
|
|
12
|
+
_MCP_INSTALL_SCOPE: TypeAlias = Literal["local", "global"]
|
|
13
|
+
_PROMPTS_SOURCE: TypeAlias = Literal["all", "a", "repo", "r", "private", "p", "public", "b", "library", "l"]
|
|
14
|
+
_SKILL_INSTALL_SCOPE: TypeAlias = Literal["local", "global"]
|
|
15
|
+
_SKILL_INSTALL_BACKEND: TypeAlias = Literal["bunx", "npx"]
|
|
17
16
|
|
|
18
17
|
_ASK_REASONING_HELP: Final[str] = "n=none, l=low, m=medium, h=high, x=xhigh; supported for codex, copilot, and pi"
|
|
19
18
|
_AGENT_VALUES: Final[tuple[AGENTS, ...]] = cast(tuple[AGENTS, ...], get_args(AGENTS))
|
|
@@ -108,7 +107,7 @@ def add_mcp(
|
|
|
108
107
|
str, typer.Option("--agent", "-a", help=f"AI agents to configure (comma-separated), default is all of them. {','.join(get_args(AGENTS))}")
|
|
109
108
|
] = "",
|
|
110
109
|
scope: Annotated[
|
|
111
|
-
|
|
110
|
+
_MCP_INSTALL_SCOPE, typer.Option("--scope", "-s", help="Install MCP config or skill files into repo-local or user-global agent config.")
|
|
112
111
|
] = "local",
|
|
113
112
|
source: Annotated[MCP_CATALOG_SOURCE, typer.Option(..., "--source", "-S", help="Source to resolve or edit MCP catalog files.")] = "all",
|
|
114
113
|
edit: Annotated[
|
|
@@ -222,6 +221,8 @@ def run_interactive(
|
|
|
222
221
|
] = False,
|
|
223
222
|
) -> None:
|
|
224
223
|
"""Launch an agent with reasonable defaults."""
|
|
224
|
+
import shlex
|
|
225
|
+
|
|
225
226
|
resolved_agent = _resolve_interactive_agent(agent=agent)
|
|
226
227
|
command = _apply_overhead(command=_interactive_agent_command(agent=resolved_agent, caveman=caveman), overhead=overhead)
|
|
227
228
|
from stackops.utils.code import exit_then_run_shell_script
|
|
@@ -264,7 +265,7 @@ def run_prompt(
|
|
|
264
265
|
),
|
|
265
266
|
] = None,
|
|
266
267
|
source: Annotated[
|
|
267
|
-
|
|
268
|
+
_PROMPTS_SOURCE,
|
|
268
269
|
typer.Option(..., "--source", "-s", help="Source to look for context YAML files when --context-yaml-path is not provided."),
|
|
269
270
|
] = "all",
|
|
270
271
|
show_prompts_yaml_format: Annotated[
|
|
@@ -337,24 +338,31 @@ def add_skill(
|
|
|
337
338
|
),
|
|
338
339
|
] = None,
|
|
339
340
|
scope: Annotated[
|
|
340
|
-
|
|
341
|
+
_SKILL_INSTALL_SCOPE, typer.Option("--scope", "-s", help="Install the skill into the repo-local or user-global agent skill directory.")
|
|
341
342
|
] = "local",
|
|
342
343
|
directory: Annotated[
|
|
343
344
|
str | None,
|
|
344
345
|
typer.Option(..., "--directory", "-d", help="Directory to add the skill to. If not provided, defaults to current working directory."),
|
|
345
346
|
] = None,
|
|
347
|
+
backend: Annotated[
|
|
348
|
+
_SKILL_INSTALL_BACKEND,
|
|
349
|
+
typer.Option("--backend", "-b", help="Package runner backend for the upstream skills CLI."),
|
|
350
|
+
] = "bunx",
|
|
346
351
|
) -> None:
|
|
347
352
|
"""Add a skill through the upstream skills CLI."""
|
|
348
353
|
try:
|
|
349
354
|
from stackops.scripts.python.helpers.helpers_agents.agents_skill_impl import add_skill as impl
|
|
350
355
|
|
|
351
|
-
return_code = impl(skill_name=skill_name, agent=agent, scope=scope, directory=directory)
|
|
356
|
+
return_code = impl(skill_name=skill_name, agent=agent, scope=scope, directory=directory, backend=backend)
|
|
352
357
|
except ValueError as error:
|
|
353
358
|
raise typer.BadParameter(str(error)) from error
|
|
354
359
|
raise typer.Exit(code=return_code)
|
|
355
360
|
|
|
356
361
|
|
|
357
362
|
def get_app() -> typer.Typer:
|
|
363
|
+
from stackops.scripts.python.agents_browser import get_app as get_browser_app
|
|
364
|
+
from stackops.scripts.python.agents_parallel import get_app as get_parallel_app
|
|
365
|
+
|
|
358
366
|
agents_app = typer.Typer(help="🤖 AI Agents management subcommands", no_args_is_help=True, add_help_option=True, add_completion=False)
|
|
359
367
|
agents_app.add_typer(
|
|
360
368
|
get_parallel_app(), name="parallel", help="🧵 <p> Parallel agent workflow commands", short_help="<p> Parallel agent workflow commands"
|
|
@@ -4,12 +4,12 @@ from typing import get_args
|
|
|
4
4
|
|
|
5
5
|
import typer
|
|
6
6
|
|
|
7
|
-
from stackops.scripts.python.agents_parallel_commands import agents_create, collect, create_context, make_agents_command_template
|
|
8
|
-
from stackops.scripts.python.agents_parallel_run_command import run_parallel
|
|
9
|
-
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS, PROVIDER
|
|
10
|
-
|
|
11
7
|
|
|
12
8
|
def get_app() -> typer.Typer:
|
|
9
|
+
from stackops.scripts.python.agents_parallel_commands import agents_create, collect, create_context, make_agents_command_template
|
|
10
|
+
from stackops.scripts.python.agents_parallel_run_command import run_parallel
|
|
11
|
+
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS, PROVIDER
|
|
12
|
+
|
|
13
13
|
parallel_app = typer.Typer(
|
|
14
14
|
help="🧵 <p> Parallel agent workflow commands",
|
|
15
15
|
no_args_is_help=True,
|
{stackops-26.6.3 → stackops-26.6.4}/src/stackops/scripts/python/agents_parallel_run_command.py
RENAMED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"""Run-parallel command wrapper."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated, get_args
|
|
3
|
+
from typing import Annotated, Literal, get_args
|
|
4
4
|
|
|
5
5
|
import typer
|
|
6
6
|
|
|
7
|
-
from stackops.scripts.python.helpers.helpers_agents.agents_parallel_run_config import PARALLEL_RUNS_SOURCE, ParallelCreateValues
|
|
8
|
-
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS, HOST, PROVIDER
|
|
9
7
|
from stackops.scripts.python.helpers.helpers_agents.reasoning_capabilities import ReasoningEffort
|
|
8
|
+
from stackops.utils.schemas.fire_agents.fire_agents_types import AGENTS, HOST, PROVIDER
|
|
9
|
+
|
|
10
|
+
_PARALLEL_RUNS_SOURCE = Literal["all", "a", "repo", "r", "private", "p", "public", "b", "library", "l"]
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def run_parallel(
|
|
@@ -15,7 +16,7 @@ def run_parallel(
|
|
|
15
16
|
str | None, typer.Option(..., "--yaml-path", "-y", help="YAML file containing named parallel runs. Auto-created with a template if missing.")
|
|
16
17
|
] = None,
|
|
17
18
|
source: Annotated[
|
|
18
|
-
|
|
19
|
+
_PARALLEL_RUNS_SOURCE,
|
|
19
20
|
typer.Option(..., "--source", "-S", help="Source to look for parallel YAML files when --yaml-path is not provided."),
|
|
20
21
|
] = "all",
|
|
21
22
|
show_parallel_yaml_format: Annotated[
|
|
@@ -72,6 +73,7 @@ def run_parallel(
|
|
|
72
73
|
] = None,
|
|
73
74
|
) -> None:
|
|
74
75
|
"""Run a named parallel agent workflow from YAML, with create-option overrides."""
|
|
76
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_parallel_run_config import ParallelCreateValues
|
|
75
77
|
from stackops.scripts.python.helpers.helpers_agents.agents_parallel_run_impl import run_parallel_from_yaml
|
|
76
78
|
|
|
77
79
|
try:
|