stackops 8.101__tar.gz → 8.103__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-8.101 → stackops-8.103}/MANIFEST.in +1 -0
- {stackops-8.101/src/stackops.egg-info → stackops-8.103}/PKG-INFO +1 -1
- {stackops-8.101 → stackops-8.103}/pyproject.toml +3 -3
- stackops-8.103/src/manual/test_path_references.py +18 -0
- stackops-8.103/src/manual/test_secrets_schema.py +47 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/cloud_manager.py +3 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/models.py +8 -9
- stackops-8.103/src/stackops/jobs/installer/__init__.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/vt_utils.py +3 -5
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/package_groups.py +4 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/boxes.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/espanso.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/hx.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/nerdfont.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/orca.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/poppler.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/rmpc.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/termusic.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/yazi.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/ytui_music.py +1 -0
- stackops-8.103/src/stackops/profile/__init__.py +6 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/profile/create_links.py +5 -5
- {stackops-8.101 → stackops-8.103}/src/stackops/profile/dotfiles_mapper.py +5 -4
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/cloud.py +23 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/devops.py +31 -7
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/fire_jobs.py +0 -2
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph.json +3590 -1406
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +9 -9
- stackops-8.103/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +434 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +8 -20
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helper_env/env_manager_tui.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helper_env/path_manager_tui.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +2 -7
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +1 -1
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +28 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +3 -2
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +95 -9
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +5 -8
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/helpers2.py +3 -4
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/backup_config.py +33 -7
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +72 -23
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +504 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile.py +32 -28
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +348 -0
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +296 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +10 -2
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +334 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +4 -4
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +34 -80
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_installer.py +4 -4
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +6 -4
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +9 -9
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +110 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +6 -41
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +2 -2
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +6 -44
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +5 -5
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +3 -21
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/vault.py +560 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +2 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +1 -22
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +14 -38
- stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell/croshell_impl.py → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +14 -14
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +16 -15
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/record.py +100 -32
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +119 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_search/script_help.py +3 -23
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +2 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_aoe.py +2 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +2 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +106 -3
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +88 -0
- stackops-8.103/src/stackops/scripts/python/helpers/helpers_utils/surya.py +99 -0
- stackops-8.101/src/stackops/scripts/python/croshell.py → stackops-8.103/src/stackops/scripts/python/preview.py +6 -6
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/stackops_entry.py +7 -8
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/utils.py +1 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/linux/interactive.sh +9 -9
- stackops-8.103/src/stackops/scripts/setup/linux/live_from_github.sh +35 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/windows/interactive.ps1 +11 -11
- stackops-8.103/src/stackops/scripts/setup/windows/live_from_github.ps1 +38 -0
- stackops-8.103/src/stackops/secrets.py +157 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/lfrc +5 -5
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/lfrc +3 -4
- stackops-8.103/src/stackops/settings/ollama/server.json +3 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/bash/init.sh +7 -5
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/nushell/init.nu +2 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/pwsh/init.ps1 +2 -2
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/vtm/settings.xml +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/zsh/init.sh +8 -6
- stackops-8.103/src/stackops/settings/yazi/init.lua +51 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/keymap_darwin.toml +3 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/keymap_linux.toml +3 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/keymap_windows.toml +3 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/interactive_view.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cli_utils/hierarchy.py +10 -10
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cli_utils/hierarchy_types.py +8 -8
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_cli.py +18 -3
- stackops-8.103/src/stackops/utils/installer_utils/installer_explore.py +252 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_constants.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_scripts.py +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_runner.py +3 -3
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/io.py +56 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/notifications.py +35 -88
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/textual_options_form_types.py +2 -2
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/path_compression.py +7 -1
- stackops-8.103/src/stackops/utils/schemas/__init__.py +1 -0
- stackops-8.103/src/stackops/utils/schemas/agents/__init__.py +2 -0
- stackops-8.103/src/stackops/utils/schemas/agents/parallel.schema.json +192 -0
- stackops-8.103/src/stackops/utils/schemas/agents/prompts.schema.json +84 -0
- stackops-8.103/src/stackops/utils/schemas/config/__init__.py +14 -0
- stackops-8.103/src/stackops/utils/schemas/config/config.json +7 -0
- stackops-8.103/src/stackops/utils/schemas/config/config.schema.json +38 -0
- stackops-8.103/src/stackops/utils/schemas/config/config_types.py +16 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/installer/__init__.py +1 -0
- {stackops-8.101/src/stackops/jobs → stackops-8.103/src/stackops/utils/schemas}/installer/installer_data.json +1075 -25
- stackops-8.103/src/stackops/utils/schemas/installer/installer_type.schema.json +446 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/installer/installer_types.py +56 -12
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/layouts/layout.json +1 -1
- stackops-8.103/src/stackops/utils/schemas/mapper/__init__.py +4 -0
- stackops-8.101/src/stackops/profile/mapper_data.schema.json → stackops-8.103/src/stackops/utils/schemas/mapper/data.schema.json +10 -1
- stackops-8.101/src/stackops/profile/mapper_data.yaml → stackops-8.103/src/stackops/utils/schemas/mapper/data.yaml +16 -2
- stackops-8.101/src/stackops/profile/mapper_dotfiles.schema.json → stackops-8.103/src/stackops/utils/schemas/mapper/dotfiles.schema.json +4 -4
- stackops-8.101/src/stackops/profile/mapper_dotfiles.yaml → stackops-8.103/src/stackops/utils/schemas/mapper/dotfiles.yaml +33 -25
- stackops-8.103/src/stackops/utils/schemas/secrets/__init__.py +2 -0
- stackops-8.103/src/stackops/utils/schemas/secrets/secrets.example.json +49 -0
- stackops-8.103/src/stackops/utils/schemas/secrets/secrets.schema.json +182 -0
- stackops-8.103/src/stackops/utils/schemas/secrets/secrets_loader.py +227 -0
- stackops-8.103/src/stackops/utils/schemas/secrets/secrets_types.py +38 -0
- stackops-8.103/src/stackops/utils/schemas/ve/__init__.py +1 -0
- stackops-8.103/src/stackops/utils/schemas/ve/ve.schema.json +105 -0
- stackops-8.103/src/stackops/utils/source_of_truth.py +165 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/abc.py +1 -1
- stackops-8.103/src/stackops/utils/ve_schema.py +26 -0
- {stackops-8.101 → stackops-8.103/src/stackops.egg-info}/PKG-INFO +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops.egg-info/SOURCES.txt +46 -20
- {stackops-8.101 → stackops-8.103}/src/stackops.egg-info/entry_points.txt +1 -1
- {stackops-8.101 → stackops-8.103}/src/stackops.egg-info/top_level.txt +1 -0
- stackops-8.101/src/stackops/jobs/installer/__init__.py +0 -2
- stackops-8.101/src/stackops/profile/__init__.py +0 -4
- stackops-8.101/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -219
- stackops-8.101/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -131
- stackops-8.101/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +0 -256
- stackops-8.101/src/stackops/settings/yazi/init.lua +0 -69
- stackops-8.101/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -94
- stackops-8.101/src/stackops/utils/source_of_truth.py +0 -35
- stackops-8.101/src/stackops/utils/ve_schema.py +0 -85
- stackops-8.101/tests/test_cli_graph_lazy_dispatch.py +0 -24
- stackops-8.101/tests/test_install_request_logic.py +0 -18
- stackops-8.101/tests/test_layout_maker_stagger.py +0 -76
- stackops-8.101/tests/test_oz_agent_support.py +0 -75
- stackops-8.101/tests/test_rmpc_installer.py +0 -43
- {stackops-8.101 → stackops-8.103}/README.md +0 -0
- {stackops-8.101 → stackops-8.103}/setup.cfg +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/data_transfer.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/distribute.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/execution_script.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/file_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/job_params.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/notification.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/remote/remote_machine.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/session_conflict.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_local.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples/wt_local_manager_demo.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/layout_generator.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/local_monitoring.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/manager_persistence.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/monitoring_helpers.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/process_monitor.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/remote_executor.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/session_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporter.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporting.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/wt_helpers.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_local.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_local_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_remote.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_remote_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/example_usage.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/layout_generator.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/monitoring_types.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/process_monitor.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/remote_executor.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/session_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/status_reporter.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_restart.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_with_panes.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_manager_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/install_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/checks/security_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/q.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/macos_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/brave.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/code.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/cursor.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/docker.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/lvim.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/main_protocol.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/redis.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/winget.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/installer/todo.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts_dynamic/a.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/logger.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/profile/create_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/profile/create_links_export.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/profile/create_shell_profile.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/linux/wrap_stackops +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/nu/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/agents.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/agents_browser.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/agents_parallel.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/agents_parallel_commands.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/agents_parallel_run_command.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/initai.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/models.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/models_config.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/antigravity/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/auggie/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/codex/config.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/droid/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/forge/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/oz/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/pi/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/q/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/qwen_code/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/warp/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/utils/generate_files.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/utils/shared.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/enums.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/ftpx.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/plotly_browser.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helper_env/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helper_env/path_manager_backend.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp-browser-url.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-user-data-dir.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_helper_types.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mont_tmux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_zellij.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_cloud/helpers5.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/app.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_docs.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_logic.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_test.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflow_capture.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflows_yaml.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_devops → stackops-8.103/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers → stackops-8.103/src/stackops/scripts/python/helpers/helpers_fire_command}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_fire_command → stackops-8.103/src/stackops/scripts/python/helpers/helpers_network}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/address.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_network → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/__init__.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/pomodoro.py +0 -0
- /stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell/crosh.py → /stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/scheduler.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/start_slidev.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/viewer.py +0 -0
- {stackops-8.101/src/stackops/scripts/python/helpers/helpers_croshell → stackops-8.103/src/stackops/scripts/python/helpers/helpers_preview}/viewer_template.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/grource.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/sync.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_focus.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_layout.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_metadata.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_options.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_preview.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_zellij.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_zellij.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/download.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/python.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/test_runtime.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/helpers/helpers_utils/type_fix.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/seek.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/python/terminal.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/linux/uv.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/macos/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/macos/uv.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/atuin/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/atuin/config.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/atuin/themes/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/broot/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/broot/br.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/broot/brootcd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/broot/conf.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/glow/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/glow/glow.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/helix/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/helix/config.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/helix/languages.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/helix/yazi-picker.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keras/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keras/keras.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/colors +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/previewer.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/linux/icons +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/colors +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/icons +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lf/windows/previewer.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/.flake8 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/.mypy.ini +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/.pylintrc +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/.ruff.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/pyrefly.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/linters/ty.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/linux/config.lua +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/config.lua +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/marimo/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/marimo/marimo.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/mprocs/windows/other +0 -0
- {stackops-8.101/src/stackops/settings/psmux → stackops-8.103/src/stackops/settings/ollama}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/pistol/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/pistol/pistol.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/presenterm/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/presenterm/config.yaml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/procs/.procs.toml +0 -0
- {stackops-8.101/src/stackops/utils/schemas → stackops-8.103/src/stackops/settings/psmux}/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/description.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.local.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/pudb/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/pudb/pudb.cfg +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/rofi/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/rofi/config.rasi +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/rofi/config_default.rasi +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/bash/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/ghostty/config +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/kitty/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/nushell/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/nushell/config.nu +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/nushell/env.nu +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/starship/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/starship/starship.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/vtm/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/wt/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/wt/settings.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/shells/zsh/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/streamlit/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/streamlit/config.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/svim/linux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/svim/linux/init.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/svim/windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/svim/windows/init.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/env.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/files.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/images.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/path.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/text.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/env.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/files.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/television/cable_windows/text.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tere/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tere/terecd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tere/terecd.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tmux/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tmux/tmux.conf.local +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tv/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tv/config.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tv/themes/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/wsl/.wslconfig +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/wt/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/wt/set_wt_settings.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/shell/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/theme.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zed/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zed/settings.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/commands/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/commands/monitor +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/commands/standard_panes +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/config.kdl +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/hist +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/panes.kdl +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/st.kdl +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/st2.kdl +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/settings/zellij/layouts/stacked_panes.kdl +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/accessories.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ai/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cli_utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cloud/onedrive/README.md +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/code.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/art/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/art/fat_croco.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/art/happy_croco.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/art/water_croco.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/ascii_art.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/dbms.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/f.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/headers.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/ouch/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/ouch/decompress.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/files/read.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/install_from_url.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/install_request_logic.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_class.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/links.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/meta.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/options_tv_linux.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/textual_options_form.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/options_utils/tv_options.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/path_core.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/path_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/path_reference.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/procs.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/rclone.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/rclone_wrapper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/repo_stackops.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/scheduler.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/layouts/layout_types.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/repos/__init__.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/copy_from_here.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/copy_to_here.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/utils.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/wsl.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/terminal.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/upgrade_packages.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/ve.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops/utils/yaml_schema.py +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops.egg-info/dependency_links.txt +0 -0
- {stackops-8.101 → stackops-8.103}/src/stackops.egg-info/requires.txt +0 -0
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "stackops"
|
|
9
|
-
version = "8.
|
|
9
|
+
version = "8.103"
|
|
10
10
|
description = "Developer Stack Manager"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -51,7 +51,7 @@ cloud = "stackops.scripts.python.cloud:main"
|
|
|
51
51
|
fire = "stackops.scripts.python.fire_jobs:main"
|
|
52
52
|
agents = "stackops.scripts.python.agents:main"
|
|
53
53
|
terminal = "stackops.scripts.python.terminal:main"
|
|
54
|
-
|
|
54
|
+
preview = "stackops.scripts.python.preview:main"
|
|
55
55
|
utils = "stackops.scripts.python.utils:main"
|
|
56
56
|
stackops = "stackops.scripts.python.stackops_entry:main"
|
|
57
57
|
seek = "stackops.scripts.python.seek:main"
|
|
@@ -65,7 +65,7 @@ license-files = []
|
|
|
65
65
|
where = ["src"]
|
|
66
66
|
|
|
67
67
|
[tool.setuptools.package-data]
|
|
68
|
-
stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/schemas/**/*.json"]
|
|
68
|
+
stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/schemas/**/*.json", "utils/schemas/**/*.yaml"]
|
|
69
69
|
|
|
70
70
|
[dependency-groups]
|
|
71
71
|
dev = [
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
|
|
7
|
+
from stackops.scripts.python.helpers.helpers_utils.path_reference_validation import audit_repository_path_references, format_path_reference_audit
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def test_all_path_reference_targets_exist(capsys: pytest.CaptureFixture[str]) -> None:
|
|
14
|
+
audit = audit_repository_path_references(repo_path=REPO_ROOT, search_root=None)
|
|
15
|
+
with capsys.disabled():
|
|
16
|
+
print(f"Picked up {audit.reference_count} _PATH_REFERENCE variables.")
|
|
17
|
+
if audit.has_failures():
|
|
18
|
+
pytest.fail(format_path_reference_audit(audit=audit))
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
5
|
+
|
|
6
|
+
from stackops.utils.schemas.secrets.secrets_loader import SecretsSchemaError, load_secrets_file
|
|
7
|
+
from stackops.utils.schemas.secrets.secrets_types import SecretRecord
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
11
|
+
SECRETS_SCHEMA_PATH = REPO_ROOT / "src" / "stackops" / "utils" / "schemas" / "secrets" / "secrets.schema.json"
|
|
12
|
+
SECRETS_EXAMPLE_PATH = REPO_ROOT / "src" / "stackops" / "utils" / "schemas" / "secrets" / "secrets.example.json"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_loader_requires_secret_name(tmp_path: Path) -> None:
|
|
16
|
+
secrets_path = tmp_path / "secrets.json"
|
|
17
|
+
secrets_path.write_text(
|
|
18
|
+
json.dumps({"version": "0.5", "entries": [{"name": "service", "secrets": [{"keyValues": {"TOKEN": "redacted"}}]}]}), encoding="utf-8"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
with pytest.raises(SecretsSchemaError, match=r"entries\[0\]\.secrets\[0\]\.name must be a non-empty string"):
|
|
22
|
+
load_secrets_file(secrets_path)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def test_loaded_secret_name_is_required_type(tmp_path: Path) -> None:
|
|
26
|
+
secrets_path = tmp_path / "secrets.json"
|
|
27
|
+
secrets_path.write_text(
|
|
28
|
+
json.dumps({"version": "0.5", "entries": [{"name": "service", "secrets": [{"name": "api-token", "keyValues": {"TOKEN": "redacted"}}]}]}),
|
|
29
|
+
encoding="utf-8",
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
loaded = load_secrets_file(secrets_path)
|
|
33
|
+
secret: SecretRecord = loaded["entries"][0]["secrets"][0]
|
|
34
|
+
|
|
35
|
+
assert secret["name"] == "api-token"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def test_schema_requires_secret_name() -> None:
|
|
39
|
+
schema = json.loads(SECRETS_SCHEMA_PATH.read_text(encoding="utf-8"))
|
|
40
|
+
|
|
41
|
+
assert schema["definitions"]["secret"]["required"] == ["name", "keyValues"]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def test_packaged_example_secret_entries_have_names() -> None:
|
|
45
|
+
example = json.loads(SECRETS_EXAMPLE_PATH.read_text(encoding="utf-8"))
|
|
46
|
+
|
|
47
|
+
assert all("name" in secret for entry in example["entries"] for secret in entry["secrets"])
|
|
@@ -13,8 +13,8 @@ from rich.console import Console
|
|
|
13
13
|
from stackops.cluster.remote.models import JOB_STATUS, LogEntry
|
|
14
14
|
from stackops.utils import rclone as rclone_utils
|
|
15
15
|
from stackops.utils.files.read import read_json
|
|
16
|
-
from stackops.utils.io import
|
|
17
|
-
from stackops.utils.source_of_truth import
|
|
16
|
+
from stackops.utils.io import save_json
|
|
17
|
+
from stackops.utils.source_of_truth import read_stackops_config_string
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
LOCK_EXPIRY_SECONDS = 3600
|
|
@@ -59,7 +59,7 @@ class CloudManager:
|
|
|
59
59
|
self.status_root = status_root
|
|
60
60
|
self.max_jobs = max_jobs
|
|
61
61
|
if cloud is None:
|
|
62
|
-
self.cloud =
|
|
62
|
+
self.cloud = read_stackops_config_string("default_rclone_config")
|
|
63
63
|
else:
|
|
64
64
|
self.cloud = cloud
|
|
65
65
|
self.lock_claimed = False
|
|
@@ -3,8 +3,8 @@ from dataclasses import dataclass, field, asdict
|
|
|
3
3
|
from datetime import datetime, timedelta
|
|
4
4
|
|
|
5
5
|
from stackops.utils.accessories import randstr
|
|
6
|
-
from stackops.utils.
|
|
7
|
-
from stackops.utils.
|
|
6
|
+
from stackops.utils.source_of_truth import DOTFILES_STACKOPS_CONFIG_PATH, read_stackops_config_string
|
|
7
|
+
from stackops.utils.schemas.config.config_types import StackOpsConfigStringKey
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
JOB_STATUS: TypeAlias = Literal["queued", "running", "completed", "failed"]
|
|
@@ -158,12 +158,11 @@ class LogEntry:
|
|
|
158
158
|
)
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
def _read_default_config_value(key:
|
|
161
|
+
def _read_default_config_value(key: StackOpsConfigStringKey) -> str:
|
|
162
162
|
try:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
raise ValueError(f"Default config value '{key}' could not be read from `{DEFAULTS_PATH}`") from err
|
|
163
|
+
return read_stackops_config_string(key)
|
|
164
|
+
except (FileNotFoundError, KeyError, ValueError) as err:
|
|
165
|
+
raise ValueError(f"Config value '{key}' could not be read from `{DOTFILES_STACKOPS_CONFIG_PATH}`") from err
|
|
167
166
|
|
|
168
167
|
|
|
169
168
|
@dataclass
|
|
@@ -222,9 +221,9 @@ class RemoteStackOpsConfig:
|
|
|
222
221
|
raise ValueError("cloud_name must be provided when transfer_method is 'cloud'")
|
|
223
222
|
if self.notify_upon_completion:
|
|
224
223
|
if self.to_email is None:
|
|
225
|
-
self.to_email = _read_default_config_value("
|
|
224
|
+
self.to_email = _read_default_config_value("default_email_address")
|
|
226
225
|
if self.email_config_name is None:
|
|
227
|
-
self.email_config_name = _read_default_config_value("
|
|
226
|
+
self.email_config_name = _read_default_config_value("default_email_config")
|
|
228
227
|
|
|
229
228
|
|
|
230
229
|
@dataclass
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TODO_PATH_REFERENCE = "todo.md"
|
|
@@ -13,6 +13,8 @@ from typing import TYPE_CHECKING, TypedDict
|
|
|
13
13
|
|
|
14
14
|
from rich.progress import Progress, TaskID
|
|
15
15
|
|
|
16
|
+
from stackops.utils.source_of_truth import read_virus_total_api_key
|
|
17
|
+
|
|
16
18
|
if TYPE_CHECKING:
|
|
17
19
|
import vt
|
|
18
20
|
|
|
@@ -43,11 +45,7 @@ VERDICT_CATEGORIES: tuple[str, ...] = ("malicious", "suspicious", "harmless", "u
|
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
def get_vt_client() -> "vt.Client":
|
|
46
|
-
|
|
47
|
-
if not VT_TOKEN_PATH.exists():
|
|
48
|
-
raise FileNotFoundError(f"VirusTotal token not found at {VT_TOKEN_PATH}")
|
|
49
|
-
|
|
50
|
-
token = VT_TOKEN_PATH.read_text(encoding="utf-8").split("\n")[0].strip()
|
|
48
|
+
token = read_virus_total_api_key()
|
|
51
49
|
import vt
|
|
52
50
|
|
|
53
51
|
return vt.Client(token)
|
|
@@ -19,13 +19,16 @@ AGENTS = [
|
|
|
19
19
|
"opencode-ai",
|
|
20
20
|
"chatgpt",
|
|
21
21
|
"forge",
|
|
22
|
+
"hermes",
|
|
22
23
|
"mods",
|
|
23
24
|
"oz",
|
|
24
25
|
"q",
|
|
26
|
+
"qodercli",
|
|
25
27
|
"qwen-code",
|
|
26
28
|
"cursor-cli",
|
|
27
29
|
"droid",
|
|
28
30
|
"pi",
|
|
31
|
+
"omp",
|
|
29
32
|
"orca",
|
|
30
33
|
"kilocode",
|
|
31
34
|
"cline",
|
|
@@ -228,6 +231,7 @@ PACKAGES_FILE = [
|
|
|
228
231
|
"diskonaut",
|
|
229
232
|
"dua",
|
|
230
233
|
"dust",
|
|
234
|
+
"pdu",
|
|
231
235
|
"cpz",
|
|
232
236
|
"rmz",
|
|
233
237
|
]
|
|
@@ -19,6 +19,7 @@ installer_data_modified: InstallerData = {
|
|
|
19
19
|
"license": "GPL-3.0",
|
|
20
20
|
"repoURL": "https://github.com/ascii-boxes/boxes",
|
|
21
21
|
"doc": "📦 ASCI draws boxes around text.",
|
|
22
|
+
"categoryLabels": ["terminal-fun-visuals"],
|
|
22
23
|
"fileNamePattern": {
|
|
23
24
|
"amd64": {
|
|
24
25
|
"windows": "boxes-{version}-intel-win32.zip",
|
|
@@ -12,6 +12,7 @@ DUCKDB_INSTALLER_DATA: InstallerData = {
|
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"repoURL": "https://github.com/duckdb/duckdb",
|
|
14
14
|
"doc": "🗃️ An in-process SQL OLAP database management system",
|
|
15
|
+
"categoryLabels": ["databases"],
|
|
15
16
|
"fileNamePattern": {
|
|
16
17
|
"amd64": {
|
|
17
18
|
"linux": "libduckdb-linux-amd64.zip",
|
|
@@ -28,6 +28,7 @@ nerd_fonts: InstallerData = {
|
|
|
28
28
|
"license": "MIT / SIL OFL 1.1",
|
|
29
29
|
"repoURL": "https://github.com/ryanoasis/nerd-fonts",
|
|
30
30
|
"doc": "Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons)",
|
|
31
|
+
"categoryLabels": ["terminals-shells"],
|
|
31
32
|
"fileNamePattern": {
|
|
32
33
|
"amd64": {
|
|
33
34
|
"windows": "CascadiaCode.zip",
|
|
@@ -22,6 +22,7 @@ def _build_windows_installer_data(base_installer_data: InstallerData) -> Install
|
|
|
22
22
|
license=base_installer_data["license"],
|
|
23
23
|
doc=base_installer_data["doc"],
|
|
24
24
|
repoURL=base_installer_data["repoURL"],
|
|
25
|
+
categoryLabels=base_installer_data["categoryLabels"],
|
|
25
26
|
fileNamePattern={
|
|
26
27
|
"amd64": {
|
|
27
28
|
"linux": None,
|
|
@@ -17,6 +17,7 @@ poppler_installer: InstallerData = {
|
|
|
17
17
|
"license": "GPL-2.0-or-later",
|
|
18
18
|
"repoURL": "https://github.com/oschwartz10612/poppler-windows",
|
|
19
19
|
"doc": "PDF rendering library - Windows builds.",
|
|
20
|
+
"categoryLabels": ["documents-markdown-latex", "graphics-images-ocr-diagrams"],
|
|
20
21
|
"fileNamePattern": {
|
|
21
22
|
"amd64": {
|
|
22
23
|
"windows": "Release-{version}.zip",
|
|
@@ -25,6 +25,7 @@ RMPC_INSTALLER_DATA: InstallerData = {
|
|
|
25
25
|
"license": "BSD-3-Clause",
|
|
26
26
|
"repoURL": RMPC_REPO_URL,
|
|
27
27
|
"doc": "A modern, configurable terminal based MPD client.",
|
|
28
|
+
"categoryLabels": ["media-audio-video"],
|
|
28
29
|
"fileNamePattern": {
|
|
29
30
|
"amd64": {
|
|
30
31
|
"linux": "rmpc-{version}-x86_64-unknown-linux-gnu.tar.gz",
|
|
@@ -26,6 +26,7 @@ TERMUSIC_INSTALLER_DATA: InstallerData = {
|
|
|
26
26
|
"license": "MIT and GPL-3.0",
|
|
27
27
|
"repoURL": TERMUSIC_REPO_URL,
|
|
28
28
|
"doc": "A terminal-based music player written in Rust.",
|
|
29
|
+
"categoryLabels": ["media-audio-video"],
|
|
29
30
|
"fileNamePattern": {
|
|
30
31
|
"amd64": {
|
|
31
32
|
"linux": "termusic-{version}-x86_64-linux.tar.xz",
|
|
@@ -13,6 +13,7 @@ installer_standard: InstallerData = {
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"repoURL": "https://github.com/sxyazi/yazi",
|
|
15
15
|
"doc": "⚡ Blazing Fast Terminal File Manager.",
|
|
16
|
+
"categoryLabels": ["file-managers"],
|
|
16
17
|
"fileNamePattern": {
|
|
17
18
|
"amd64": {
|
|
18
19
|
"linux": "yazi-x86_64-unknown-linux-musl.zip",
|
|
@@ -70,6 +70,7 @@ def _build_binary_installer_data(base_installer_data: InstallerData) -> Installe
|
|
|
70
70
|
license=base_installer_data["license"],
|
|
71
71
|
doc=base_installer_data["doc"],
|
|
72
72
|
repoURL=YTUI_MUSIC_REPO_URL,
|
|
73
|
+
categoryLabels=base_installer_data["categoryLabels"],
|
|
73
74
|
fileNamePattern=file_name_pattern,
|
|
74
75
|
)
|
|
75
76
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Compatibility path references for callers that still resolve mapper assets
|
|
2
|
+
# relative to stackops.profile. New code should import stackops.utils.schemas.mapper.
|
|
3
|
+
MAPPER_DATA_SCHEMA_PATH_REFERENCE = "../utils/schemas/mapper/data.schema.json"
|
|
4
|
+
MAPPER_DATA_PATH_REFERENCE = "../utils/schemas/mapper/data.yaml"
|
|
5
|
+
MAPPER_DOTFILES_SCHEMA_PATH_REFERENCE = "../utils/schemas/mapper/dotfiles.schema.json"
|
|
6
|
+
MAPPER_DOTFILES_PATH_REFERENCE = "../utils/schemas/mapper/dotfiles.yaml"
|
|
@@ -24,7 +24,7 @@ from stackops.profile.dotfiles_mapper import (
|
|
|
24
24
|
VALID_OS_VALUES,
|
|
25
25
|
load_dotfiles_mapper,
|
|
26
26
|
)
|
|
27
|
-
from stackops.utils.source_of_truth import CONFIG_ROOT
|
|
27
|
+
from stackops.utils.source_of_truth import CONFIG_ROOT, DOTFILES_SSH_CREDS_ROOT, resolve_source_of_truth_path
|
|
28
28
|
|
|
29
29
|
import platform
|
|
30
30
|
import subprocess
|
|
@@ -75,7 +75,7 @@ def _parse_os_field(os_field: OsField) -> set[OsName]:
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
def _resolve_self_managed_path(path_value: str) -> Path:
|
|
78
|
-
return
|
|
78
|
+
return resolve_source_of_truth_path(path_value)
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
def _is_public_self_managed_path(path_value: str) -> bool:
|
|
@@ -390,12 +390,12 @@ def apply_mapper(
|
|
|
390
390
|
status=f"error: {str(ex)}",
|
|
391
391
|
)
|
|
392
392
|
|
|
393
|
-
if program_name == "ssh" and system == "Linux": # permissions of
|
|
393
|
+
if program_name == "ssh" and system == "Linux": # permissions of the private SSH dotfiles should be adjusted
|
|
394
394
|
try:
|
|
395
395
|
console.print("\n[bold]🔒 Setting secure permissions for SSH files...[/bold]")
|
|
396
396
|
subprocess.run("chmod 700 $HOME/.ssh/", shell=True, check=True)
|
|
397
|
-
subprocess.run("chmod 700
|
|
398
|
-
subprocess.run("chmod 600
|
|
397
|
+
subprocess.run(f"chmod 700 {DOTFILES_SSH_CREDS_ROOT}", shell=True, check=True)
|
|
398
|
+
subprocess.run(f"chmod 600 {DOTFILES_SSH_CREDS_ROOT}/*", shell=True, check=True)
|
|
399
399
|
subprocess.run("chmod 600 $HOME/.ssh/*", shell=True, check=True)
|
|
400
400
|
console.print("[green]✅ SSH permissions set successfully[/green]")
|
|
401
401
|
except Exception as e:
|
|
@@ -2,17 +2,18 @@ from collections.abc import Mapping
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
from typing import Literal, NotRequired, TypedDict
|
|
4
4
|
|
|
5
|
-
import stackops.profile as profile_assets
|
|
6
5
|
import yaml
|
|
7
6
|
|
|
7
|
+
import stackops.utils.schemas.mapper as mapper_assets
|
|
8
8
|
from stackops.utils.path_reference import get_path_reference_path
|
|
9
|
+
from stackops.utils.source_of_truth import DOTFILES_USER_MAPPER_PATH
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
LIBRARY_MAPPER_PATH = get_path_reference_path(
|
|
12
|
-
module=
|
|
13
|
-
path_reference=
|
|
13
|
+
module=mapper_assets,
|
|
14
|
+
path_reference=mapper_assets.MAPPER_DOTFILES_PATH_REFERENCE,
|
|
14
15
|
)
|
|
15
|
-
USER_MAPPER_PATH =
|
|
16
|
+
USER_MAPPER_PATH = DOTFILES_USER_MAPPER_PATH
|
|
16
17
|
DEFAULT_DOTFILE_MAPPER_HEADER = (
|
|
17
18
|
"# User-defined config file mappings\n"
|
|
18
19
|
"# Created by `d c` CLI tool\n"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import typer
|
|
4
4
|
from typing import Annotated, Literal
|
|
5
|
+
from stackops.profile.dotfiles_mapper import DEFAULT_OS_FILTER
|
|
5
6
|
from stackops.utils.ve import read_default_cloud_config
|
|
6
7
|
|
|
7
8
|
|
|
@@ -32,6 +33,10 @@ def copy(
|
|
|
32
33
|
target: Annotated[str, typer.Argument(help="🎯 file/folder path to be be sent to here.")],
|
|
33
34
|
overwrite: Annotated[bool, typer.Option("--overwrite", "-o", help="📝 Overwrite existing file.")] = defaults["overwrite"],
|
|
34
35
|
share: Annotated[bool, typer.Option("--share", "-s", help="🔗 Share file / directory")] = defaults["share"],
|
|
36
|
+
record: Annotated[bool, typer.Option("--record", "-m", help="📝 Record an upload in user mapper/data.yaml. Requires --record-name.")] = False,
|
|
37
|
+
record_group: Annotated[str, typer.Option("--record-group", "-g", help="🗂 Group name for --record in mapper/data.yaml.")] = "default",
|
|
38
|
+
record_name: Annotated[str | None, typer.Option("--record-name", "-n", help="🏷 Entry name for --record in mapper/data.yaml. Required when using --record.")] = None,
|
|
39
|
+
record_os: Annotated[str, typer.Option("--record-os", help="💻 OS filter for --record. Comma-separated: linux,darwin,windows. Defaults to all.")] = DEFAULT_OS_FILTER,
|
|
35
40
|
rel2home: Annotated[bool, typer.Option("--relative2home", "-r", help="🏠 Relative to `myhome` folder")] = defaults["rel2home"],
|
|
36
41
|
root: Annotated[str, typer.Option("--root", "-R", help="🌳 Remote root.")] = defaults["root"],
|
|
37
42
|
key: Annotated[str | None, typer.Option("--key", "-k", help="🔑 Key for encryption")] = defaults["key"],
|
|
@@ -43,7 +48,24 @@ def copy(
|
|
|
43
48
|
) -> None:
|
|
44
49
|
"""📤 Upload or 📥 Download files/folders to/from cloud storage services."""
|
|
45
50
|
from stackops.scripts.python.helpers.helpers_cloud.cloud_copy import main as copy_main
|
|
46
|
-
copy_main(
|
|
51
|
+
copy_main(
|
|
52
|
+
source=source,
|
|
53
|
+
target=target,
|
|
54
|
+
overwrite=overwrite,
|
|
55
|
+
share=share,
|
|
56
|
+
record=record,
|
|
57
|
+
record_group=record_group,
|
|
58
|
+
record_name=record_name,
|
|
59
|
+
record_os=record_os,
|
|
60
|
+
rel2home=rel2home,
|
|
61
|
+
root=root,
|
|
62
|
+
key=key,
|
|
63
|
+
pwd=pwd,
|
|
64
|
+
encrypt=encrypt,
|
|
65
|
+
zip_=zip_,
|
|
66
|
+
os_specific=os_specific,
|
|
67
|
+
config=config,
|
|
68
|
+
)
|
|
47
69
|
|
|
48
70
|
|
|
49
71
|
def mount(
|
|
@@ -46,55 +46,69 @@ def inspect_devops_help_emojis() -> list[EmojiDisplayDiagnostic]:
|
|
|
46
46
|
return emoji_display_diagnostics(emojis=["🔧", "📁", "🔩", "💾", "🔧", "🌐", "🚀"])
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
def _run_nested_app(ctx: typer.Context, app_factory: Callable[[], typer.Typer], *, prog_name: str | None = None) -> None:
|
|
50
|
+
if prog_name is None:
|
|
51
|
+
nested_result: object = app_factory()(ctx.args, standalone_mode=False)
|
|
52
|
+
else:
|
|
53
|
+
nested_result = app_factory()(ctx.args, prog_name=prog_name, standalone_mode=False)
|
|
54
|
+
if isinstance(nested_result, int):
|
|
55
|
+
raise typer.Exit(code=nested_result)
|
|
56
|
+
|
|
57
|
+
|
|
49
58
|
def install(
|
|
50
59
|
ctx: typer.Context,
|
|
51
60
|
which: Annotated[
|
|
52
|
-
str | None,
|
|
61
|
+
str | None,
|
|
62
|
+
typer.Argument(
|
|
63
|
+
...,
|
|
64
|
+
help="Comma-separated list of program names to install, group name if --group is set, or category label if --explore is set.",
|
|
65
|
+
),
|
|
53
66
|
] = None,
|
|
54
67
|
group: Annotated[bool, typer.Option(..., "--group", "-g", help="Treat 'which' as a group name. A group is bundle of apps.")] = False,
|
|
55
68
|
interactive: Annotated[bool, typer.Option(..., "--interactive", "-i", help="Interactive selection of programs to install.")] = False,
|
|
69
|
+
explore: Annotated[bool, typer.Option(..., "--explore", "-x", help="Explore installer categoryLabels before installing.")] = False,
|
|
56
70
|
update: Annotated[bool, typer.Option(..., "--update", "-u", help="Allow reinstalling or upgrading already installed apps when supported.")] = False,
|
|
57
71
|
version: Annotated[str | None, typer.Option(..., "--version", "-v", help="Specific version or tag to install when supported.")] = None,
|
|
58
72
|
) -> None:
|
|
59
73
|
"""📦 Install packages"""
|
|
60
74
|
import stackops.utils.installer_utils.installer_cli as installer_entry_point
|
|
61
75
|
|
|
62
|
-
installer_entry_point.main_installer_cli(ctx=ctx, which=which, group=group, interactive=interactive, update=update, version=version)
|
|
76
|
+
installer_entry_point.main_installer_cli(ctx=ctx, which=which, group=group, interactive=interactive, explore=explore, update=update, version=version)
|
|
63
77
|
|
|
64
78
|
|
|
65
79
|
def repos(ctx: typer.Context) -> None:
|
|
66
80
|
"""📁 <r> Manage development repositories"""
|
|
67
81
|
from stackops.scripts.python.helpers.helpers_devops import cli_repos
|
|
68
82
|
|
|
69
|
-
|
|
83
|
+
_run_nested_app(ctx, cli_repos.get_app)
|
|
70
84
|
|
|
71
85
|
|
|
72
86
|
def config(ctx: typer.Context) -> None:
|
|
73
87
|
"""⚙️ <c> Configuration management"""
|
|
74
88
|
from stackops.scripts.python.helpers.helpers_devops import cli_config
|
|
75
89
|
|
|
76
|
-
cli_config.get_app
|
|
90
|
+
_run_nested_app(ctx, cli_config.get_app, prog_name=ctx.command_path)
|
|
77
91
|
|
|
78
92
|
|
|
79
93
|
def data(ctx: typer.Context) -> None:
|
|
80
94
|
"""💾 <d> Data management"""
|
|
81
95
|
from stackops.scripts.python.helpers.helpers_devops import cli_data
|
|
82
96
|
|
|
83
|
-
|
|
97
|
+
_run_nested_app(ctx, cli_data.get_app)
|
|
84
98
|
|
|
85
99
|
|
|
86
100
|
def self_cmd(ctx: typer.Context) -> None:
|
|
87
101
|
"""🔧 <s> Self management"""
|
|
88
102
|
from stackops.scripts.python.helpers.helpers_devops import cli_self
|
|
89
103
|
|
|
90
|
-
|
|
104
|
+
_run_nested_app(ctx, cli_self.get_app)
|
|
91
105
|
|
|
92
106
|
|
|
93
107
|
def network(ctx: typer.Context) -> None:
|
|
94
108
|
"""🌐 <n> Network management"""
|
|
95
109
|
import stackops.scripts.python.helpers.helpers_devops.cli_nw as cli_network
|
|
96
110
|
|
|
97
|
-
|
|
111
|
+
_run_nested_app(ctx, cli_network.get_app)
|
|
98
112
|
|
|
99
113
|
|
|
100
114
|
def execute(
|
|
@@ -114,6 +128,13 @@ def execute(
|
|
|
114
128
|
run_py_script_module.run_py_script(ctx=ctx, name=name, where=where, interactive=interactive, command=command, list_scripts=list_scripts)
|
|
115
129
|
|
|
116
130
|
|
|
131
|
+
def vault(ctx: typer.Context) -> None:
|
|
132
|
+
"""🔐 <v> Search Bitwarden credentials and manage vault sessions."""
|
|
133
|
+
from stackops.scripts.python.helpers.helpers_devops import cli_vault
|
|
134
|
+
|
|
135
|
+
_run_nested_app(ctx, cli_vault.get_app, prog_name=ctx.command_path)
|
|
136
|
+
|
|
137
|
+
|
|
117
138
|
def get_app() -> typer.Typer:
|
|
118
139
|
cli_app = typer.Typer(help="🔧 DevOps operations", no_args_is_help=True, add_help_option=True, add_completion=False)
|
|
119
140
|
ctx_settings: dict[str, object] = {
|
|
@@ -142,6 +163,9 @@ def get_app() -> typer.Typer:
|
|
|
142
163
|
)
|
|
143
164
|
cli_app.command("e", no_args_is_help=True, hidden=True)(execute)
|
|
144
165
|
|
|
166
|
+
cli_app.command("vault", help="🔐 <v> Search Bitwarden credentials and manage vault sessions", context_settings=ctx_settings)(vault)
|
|
167
|
+
cli_app.command("v", hidden=True, context_settings=ctx_settings)(vault)
|
|
168
|
+
|
|
145
169
|
return cli_app
|
|
146
170
|
|
|
147
171
|
|
|
@@ -23,7 +23,6 @@ def fire(
|
|
|
23
23
|
root_repo: Annotated[bool, typer.Option("--root-repo", "-r", help="Resolve and search from the repository root")] = False,
|
|
24
24
|
remote: Annotated[bool, typer.Option("--remote", "-R", help="Launch on a remote machine")] = False,
|
|
25
25
|
streamlit: Annotated[bool, typer.Option("--streamlit", "-S", help="Run as streamlit app")] = False,
|
|
26
|
-
environment: Annotated[str, typer.Option("--environment", "-E", help="Choose ip, localhost, hostname or arbitrary url")] = "",
|
|
27
26
|
holdDirectory: Annotated[bool, typer.Option("--holdDirectory", "-D", help="Hold current directory and avoid cd'ing to the script directory")] = False,
|
|
28
27
|
PathExport: Annotated[bool, typer.Option("--PathExport", "-P", help="Augment the PYTHONPATH with repo root")] = False,
|
|
29
28
|
git_pull: Annotated[bool, typer.Option("--git-pull", "-g", help="Start by pulling the git repo")] = False,
|
|
@@ -52,7 +51,6 @@ def fire(
|
|
|
52
51
|
module=module,
|
|
53
52
|
script=script,
|
|
54
53
|
streamlit=streamlit,
|
|
55
|
-
environment=environment,
|
|
56
54
|
holdDirectory=holdDirectory,
|
|
57
55
|
PathExport=PathExport,
|
|
58
56
|
git_pull=git_pull,
|