stackops 26.6.6__tar.gz → 26.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {stackops-26.6.6/src/stackops.egg-info → stackops-26.7}/PKG-INFO +1 -2
- {stackops-26.6.6 → stackops-26.7}/pyproject.toml +50 -51
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/install_utils.py +7 -6
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents.py +44 -50
- stackops-26.7/src/stackops/scripts/python/agents_browser.py +165 -0
- stackops-26.7/src/stackops/scripts/python/agents_iter.py +136 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/codex/config.toml +3 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/generate_files.py +0 -16
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/generate_files_utils.py +0 -12
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/cloud.py +27 -7
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/devops.py +9 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/enums.py +5 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph.json +2881 -1805
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +6 -13
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/plotly_browser.py +1 -1
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_agentops_cache.py +187 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +66 -55
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_launch_models.py +70 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_launch_runtime.py +70 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_prompt.py +92 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +13 -51
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux.py +26 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_common.py +31 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_launch.py +193 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_models.py +57 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_tmux_status.py +109 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_impl.py +157 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_models.py +112 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_execute_prompts.py +74 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_constants.py +7 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_herdr.py +241 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_models.py +171 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_plan.py +245 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_render.py +200 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_rich_output.py +119 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_service.py +267 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/agents_plan_impl.py +148 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +23 -9
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_stackops_backend.py +43 -17
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_cdp_relay.py +73 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +51 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/brave.py +44 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/chrome.py +44 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/common.py +19 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/edge.py +44 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/firefox.py +45 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/models.py +31 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/registry.py +25 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers/safari.py +32 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +2 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +2 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +30 -38
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +5 -13
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_cloud/backup_selection.py +50 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +31 -38
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +2 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +10 -3
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +10 -35
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +5 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +4 -10
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +3 -18
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +30 -25
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_devops/cli_data_subset.py +183 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_devops/cli_data_subset_io.py +86 -0
- stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_interactive.py → stackops-26.7/src/stackops/scripts/python/helpers/helpers_devops/cli_interactive_picker.py +9 -41
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +0 -130
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +65 -36
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +3 -3
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_export.py +3 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_info.py +3 -2
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_devops/cli_subset_support.py +21 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +5 -8
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +39 -4
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +2 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +64 -84
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +4 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +3 -2
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_process_commands.py +83 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +74 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_process_inspection.py +158 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export.py +181 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export_selection.py +151 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/herdr_export_source.py +124 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/terminal_export.py +79 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/tmux_export.py +266 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_sessions/tmux_export_constants.py +11 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +42 -13
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +13 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_deps.py +156 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_maintenance.py +115 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_setup.py +7 -7
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps.py +177 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_graph.py +114 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_models.py +51 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_parse.py +92 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render.py +156 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_css.py +122 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_graph_css.py +118 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js.py +26 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_bootstrap.py +52 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_interaction.py +150 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_layout.py +59 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_shared.py +36 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_render_js_svg.py +111 -0
- stackops-26.7/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_deps_runner.py +75 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/python.py +3 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/python_init.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/upgrade_packages.py +102 -23
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/preview.py +14 -12
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/stackops_entry.py +1 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/terminal.py +37 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/utils.py +3 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/linux/interactive.sh +8 -8
- stackops-26.7/src/stackops/scripts/setup/linux/quick_init.sh +12 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/windows/interactive.ps1 +9 -9
- stackops-26.7/src/stackops/secrets/passwords.py +36 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/bash/init.sh +3 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/hierarchy.py +19 -37
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/hierarchy_types.py +23 -45
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/defaults.py +0 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/headers.py +55 -16
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_class.py +10 -9
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_runner.py +10 -5
- stackops-26.7/src/stackops/utils/schemas/__init__.py +1 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/installer/installer_data.json +45 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/mapper/data.schema.json +10 -45
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/mapper/data.yaml +4 -15
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/source_of_truth.py +2 -1
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/ssh_utils/abc.py +1 -1
- {stackops-26.6.6 → stackops-26.7/src/stackops.egg-info}/PKG-INFO +1 -2
- {stackops-26.6.6 → stackops-26.7}/src/stackops.egg-info/SOURCES.txt +61 -3
- {stackops-26.6.6 → stackops-26.7}/src/stackops.egg-info/requires.txt +0 -1
- stackops-26.6.6/src/stackops/jobs/installer/linux_scripts/q.sh +0 -12
- stackops-26.6.6/src/stackops/scripts/python/agents_browser.py +0 -83
- stackops-26.6.6/src/stackops/scripts/python/agents_iter.py +0 -34
- stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/agents_iter_impl.py +0 -389
- stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -32
- stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -135
- {stackops-26.6.6 → stackops-26.7}/MANIFEST.in +0 -0
- {stackops-26.6.6 → stackops-26.7}/README.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/setup.cfg +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/manual/test_dotfile_mapper_assets.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/manual/test_path_references.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/manual/test_secrets_schema.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/manual/test_stackops_skill_refs.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/manual/test_stackops_versioning.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/__main__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/cli.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/graph.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/graph_css.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/graph_css_continued.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/graph_js.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/graph_js_continued.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/renderer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/architecture_graph/scanner.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/cloud_manager.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/data_transfer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/distribute.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/execution_script.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/file_manager.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/job_params.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/notification.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/notifications.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/remote/remote_machine.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/scheduler.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/helpers/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/monitoring_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/session_conflict.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/status_reporting.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/utils/load_balancer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/security_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/checks/vt_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/macos_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/boxes.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/brave.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/code.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/cursor.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/docker.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/espanso.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/hx.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/lvim.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/nerdfont.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/orca.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/poppler.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/redis.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/rmpc.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/termusic.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/winget.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/yazi.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/python_scripts/ytui_music.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/installer/todo.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/jobs/scripts_dynamic/system_compute_analyzer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/logger.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/paths.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/create_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/create_links.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/create_links_export.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/create_shell_profile.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/dotfiles_mapper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/linking/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/linking/conflict.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/linking/operations.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/profile/linking/options.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/linux/wrap_stackops +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/nu/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents_parallel.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents_parallel_commands.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents_parallel_run_command.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents_test_runtime.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/agents_type_fix.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/initai.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/initai_frameworks.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/initai_models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/initai_rich_output.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models_config.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models_core.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/antigravity/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/auggie/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/droid/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/forge/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/oz/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/pi/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/q/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/qwen_code/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/warp/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/generate_files_content.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/generic.instructions.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/shared.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/fire_jobs.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ftpx.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/python_api_graph.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/python_api_graph_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/python_api_graph_search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_aoe_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_layouts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_run_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp-browser-url.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-cli.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-user-data-dir.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/browser_launchers}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode/__init__.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
- {stackops-26.6.6/src/stackops/scripts/windows → stackops-26.7/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_tmux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_prompts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_repos_viz.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_clone.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_devops/vault.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_env/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_env/path_manager_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/pomodoro.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/scheduler.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/viewer.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_preview/viewer_template.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/grource.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/record.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/sync.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_search/script_help.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_aoe_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_aoe.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_herdr.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_herdr.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace_render.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/terminal_cli_helpers.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/processes.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_commands_check.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_helpers.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/python_env.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/helpers/helpers_utils/surya.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/seek.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/terminal_summarize.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/terminal_summary.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/linux/live_from_github.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/linux/uv.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/macos/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/macos/uv.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/windows/live_from_github.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
- {stackops-26.6.6/src/stackops/secrets → stackops-26.7/src/stackops/scripts/windows}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
- {stackops-26.6.6/src/stackops/settings/herdr → stackops-26.7/src/stackops/secrets}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/assets.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/loader.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/paths.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/readers.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/secrets/search.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/atuin/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/atuin/config.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/atuin/themes/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/broot/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/broot/br.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/broot/brootcd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/broot/conf.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/glow/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/glow/glow.yml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/helix/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/helix/config.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/helix/languages.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/helix/yazi-picker.sh +0 -0
- {stackops-26.6.6/src/stackops/settings/ollama → stackops-26.7/src/stackops/settings/herdr}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/herdr/config.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keras/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keras/keras.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/colors +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/previewer.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/icons +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/linux/lfrc +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/colors +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/icons +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/lfrc +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lf/windows/previewer.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/.flake8 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/.mypy.ini +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/.pylintrc +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/.ruff.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/pyrefly.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/linters/ty.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/linux/config.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/config.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/marimo/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/marimo/marimo.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/mprocs/windows/other +0 -0
- {stackops-26.6.6/src/stackops/settings/psmux → stackops-26.7/src/stackops/settings/ollama}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/ollama/server.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/pistol/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/pistol/pistol.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/presenterm/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/presenterm/config.yaml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/procs/.procs.toml +0 -0
- {stackops-26.6.6/src/stackops/utils/machine → stackops-26.7/src/stackops/settings/psmux}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/description.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.local.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/pudb/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/pudb/pudb.cfg +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/rofi/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/rofi/config.rasi +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/rofi/config_default.rasi +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/bash/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/ghostty/config +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/ipy/profiles/default/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/kitty/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/nushell/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/nushell/config.nu +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/nushell/env.nu +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/nushell/init.nu +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/pwsh/init.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/starship/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/starship/starship.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/vtm/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/vtm/settings.xml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/wt/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/wt/settings.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/zsh/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/shells/zsh/init.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/streamlit/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/streamlit/config.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/svim/linux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/svim/linux/init.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/svim/windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/svim/windows/init.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/env.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/files.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/images.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/path.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/text.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/env.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/files.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/television/cable_windows/text.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tere/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tere/terecd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tere/terecd.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tmux/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tmux/tmux.conf.local +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tv/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tv/config.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tv/themes/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/wsl/.wslconfig +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/wt/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/wt/set_wt_settings.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/init.lua +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/keymap_darwin.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/keymap_linux.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/keymap_windows.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/interactive_view.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/shell/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/theme.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/zed/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/settings/zed/settings.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/accessories.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/alias_markers.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/command_lookup.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cli_utils/terminal.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/encryption.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/onedrive/README.md +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/rclone.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/cloud/rclone_wrapper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/code.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/art/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/art/fat_croco.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/art/happy_croco.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/art/water_croco.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/ascii_art.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/compression.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/dbms.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/download.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/f.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/notebook.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/ouch/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/ouch/decompress.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/files/read.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/install_from_url.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/install_request_logic.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_cli.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_explore.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_main_protocol.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_constants.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_scripts.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/io.py +0 -0
- {stackops-26.6.6/src/stackops/utils/network → stackops-26.7/src/stackops/utils/machine}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/machine/specs.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/meta.py +0 -0
- {stackops-26.6.6/src/stackops/utils/python → stackops-26.7/src/stackops/utils/network}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/network/address.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/optional_dependencies.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/options.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/options_tv_linux.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/textual_options_form.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/textual_options_form_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/options_utils/tv_options.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/path_core.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/path_reference.py +0 -0
- {stackops-26.6.6/src/stackops/utils/repos → stackops-26.7/src/stackops/utils/python}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/python/imports.py +0 -0
- {stackops-26.6.6/src/stackops/utils/schemas → stackops-26.7/src/stackops/utils/repos}/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/repos/stackops_paths.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/agents/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/agents/parallel.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/agents/prompts.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/config/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/config/config.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/config/config.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/config/config_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/fire_agents/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/installer/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/installer/installer_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/installer/package_groups.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/layouts/layout.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/layouts/layout_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/mapper/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/mapper/dotfiles.schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/mapper/dotfiles.yaml +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/repos/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/schemas/yaml_schema.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/ssh_utils/__init__.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/ssh_utils/ssh.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/ssh_utils/wsl.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops/version.py +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops.egg-info/dependency_links.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops.egg-info/entry_points.txt +0 -0
- {stackops-26.6.6 → stackops-26.7}/src/stackops.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackops
|
|
3
|
-
Version: 26.
|
|
3
|
+
Version: 26.7
|
|
4
4
|
Summary: Developer Stack Manager
|
|
5
5
|
Author-email: Alex Al-Saffar <programmer@usa.com>
|
|
6
6
|
License: Apache 2.0
|
|
@@ -13,7 +13,6 @@ Requires-Python: >=3.13
|
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
Requires-Dist: fire>=0.7.1
|
|
15
15
|
Requires-Dist: gitpython>=3.1.46
|
|
16
|
-
Requires-Dist: joblib>=1.5.3
|
|
17
16
|
Requires-Dist: psutil>=7.2.2
|
|
18
17
|
Requires-Dist: pyyaml>=6.0.3
|
|
19
18
|
Requires-Dist: questionary>=2.1.1
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "stackops"
|
|
9
|
-
version = "26.
|
|
9
|
+
version = "26.7"
|
|
10
10
|
description = "Developer Stack Manager"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
license = {text = "Apache 2.0"}
|
|
@@ -22,7 +22,6 @@ requires-python = ">=3.13"
|
|
|
22
22
|
dependencies = [
|
|
23
23
|
"fire>=0.7.1",
|
|
24
24
|
"gitpython>=3.1.46",
|
|
25
|
-
"joblib>=1.5.3",
|
|
26
25
|
"psutil>=7.2.2",
|
|
27
26
|
"pyyaml>=6.0.3",
|
|
28
27
|
"questionary>=2.1.1",
|
|
@@ -69,58 +68,58 @@ stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/sc
|
|
|
69
68
|
[dependency-groups]
|
|
70
69
|
dev = [
|
|
71
70
|
"aider>=0.2.6",
|
|
72
|
-
"build>=1.
|
|
71
|
+
"build>=1.5.0",
|
|
73
72
|
"cleanpy>=0.5.1",
|
|
74
73
|
"cowsay>=6.1",
|
|
75
|
-
"duckdb>=1.5.
|
|
76
|
-
"gdown>=
|
|
77
|
-
"griffe>=2.0
|
|
74
|
+
"duckdb>=1.5.4",
|
|
75
|
+
"gdown>=6.1.0",
|
|
76
|
+
"griffe>=2.1.0",
|
|
78
77
|
"ipdb>=0.13.13",
|
|
79
|
-
"ipykernel>=7.
|
|
80
|
-
"ipython>=9.
|
|
81
|
-
"kaleido>=1.
|
|
82
|
-
"marimo>=0.
|
|
83
|
-
"matplotlib>=3.
|
|
84
|
-
"mkdocstrings>=1.0.
|
|
85
|
-
"mkdocstrings-python>=2.0.
|
|
86
|
-
"mypy>=1.
|
|
87
|
-
"numpy>=2.
|
|
88
|
-
"pandas>=3.0.
|
|
78
|
+
"ipykernel>=7.3.0",
|
|
79
|
+
"ipython>=9.15.0",
|
|
80
|
+
"kaleido>=1.3.0",
|
|
81
|
+
"marimo>=0.23.11",
|
|
82
|
+
"matplotlib>=3.11.0",
|
|
83
|
+
"mkdocstrings>=1.0.4",
|
|
84
|
+
"mkdocstrings-python>=2.0.5",
|
|
85
|
+
"mypy>=2.1.0",
|
|
86
|
+
"numpy>=2.5.0",
|
|
87
|
+
"pandas>=3.0.3",
|
|
89
88
|
"paramiko>=5.0.0",
|
|
90
|
-
"plotly>=6.
|
|
91
|
-
"polars>=1.
|
|
92
|
-
"pre-commit>=4.
|
|
89
|
+
"plotly>=6.8.0",
|
|
90
|
+
"polars>=1.42.0",
|
|
91
|
+
"pre-commit>=4.6.0",
|
|
93
92
|
"pudb>=2025.1.5",
|
|
94
|
-
"py7zr>=1.1.
|
|
95
|
-
"pydantic>=2.
|
|
96
|
-
"pydeps>=3.0.
|
|
97
|
-
"pyinstaller>=6.
|
|
98
|
-
"pylint>=4.0.
|
|
99
|
-
"pylsp-mypy>=0.7.
|
|
100
|
-
"pymupdf>=1.27.2.
|
|
101
|
-
"pypdf>=6.
|
|
102
|
-
"pyrefly>=
|
|
103
|
-
"pyright>=1.1.
|
|
104
|
-
"pytest>=9.
|
|
93
|
+
"py7zr>=1.1.3",
|
|
94
|
+
"pydantic>=2.13.4",
|
|
95
|
+
"pydeps>=3.0.6",
|
|
96
|
+
"pyinstaller>=6.21.0",
|
|
97
|
+
"pylint>=4.0.6",
|
|
98
|
+
"pylsp-mypy>=0.7.3",
|
|
99
|
+
"pymupdf>=1.27.2.3",
|
|
100
|
+
"pypdf>=6.14.2",
|
|
101
|
+
"pyrefly>=1.1.1",
|
|
102
|
+
"pyright>=1.1.411",
|
|
103
|
+
"pytest>=9.1.1",
|
|
105
104
|
"python-lsp-server[mypy]>=1.14.0",
|
|
106
105
|
"qrcode>=8.2",
|
|
107
|
-
"ruff>=0.15.
|
|
106
|
+
"ruff>=0.15.20",
|
|
108
107
|
"ruff-lsp>=0.0.62",
|
|
109
|
-
"sqlalchemy>=2.0.
|
|
110
|
-
"textual>=8.
|
|
108
|
+
"sqlalchemy>=2.0.51",
|
|
109
|
+
"textual>=8.2.7",
|
|
111
110
|
"trogon>=0.6.0",
|
|
112
|
-
"ty>=0.0.
|
|
113
|
-
"types-mysqlclient>=2.2.0.
|
|
114
|
-
"types-paramiko>=
|
|
115
|
-
"types-pytz>=2026.
|
|
116
|
-
"types-pyyaml>=6.0.12.
|
|
117
|
-
"types-requests>=2.
|
|
111
|
+
"ty>=0.0.55",
|
|
112
|
+
"types-mysqlclient>=2.2.0.20260508",
|
|
113
|
+
"types-paramiko>=5.0.0.20260617",
|
|
114
|
+
"types-pytz>=2026.2.0.20260518",
|
|
115
|
+
"types-pyyaml>=6.0.12.20260518",
|
|
116
|
+
"types-requests>=2.33.0.20260518",
|
|
118
117
|
"types-sqlalchemy>=1.4.53.38",
|
|
119
|
-
"types-toml>=0.10.8.
|
|
118
|
+
"types-toml>=0.10.8.20260518",
|
|
120
119
|
"types-urllib3>=1.26.25.14",
|
|
121
120
|
"vt-py>=0.22.0",
|
|
122
121
|
"yapf>=0.43.0",
|
|
123
|
-
"zensical>=0.0.
|
|
122
|
+
"zensical>=0.0.46",
|
|
124
123
|
]
|
|
125
124
|
other = [
|
|
126
125
|
"duckdb-engine>=0.17.0",
|
|
@@ -128,18 +127,18 @@ other = [
|
|
|
128
127
|
"vt-py>=0.22.0",
|
|
129
128
|
]
|
|
130
129
|
plot = [
|
|
131
|
-
"duckdb>=1.5.
|
|
132
|
-
"ipykernel>=7.
|
|
133
|
-
"ipython>=9.
|
|
134
|
-
"jupyterlab>=4.
|
|
135
|
-
"kaleido>=1.
|
|
136
|
-
"matplotlib>=3.
|
|
130
|
+
"duckdb>=1.5.4",
|
|
131
|
+
"ipykernel>=7.3.0",
|
|
132
|
+
"ipython>=9.15.0",
|
|
133
|
+
"jupyterlab>=4.6.0",
|
|
134
|
+
"kaleido>=1.3.0",
|
|
135
|
+
"matplotlib>=3.11.0",
|
|
137
136
|
"nbformat>=5.10.4",
|
|
138
|
-
"numpy>=2.
|
|
139
|
-
"plotly>=6.
|
|
140
|
-
"polars>=1.
|
|
137
|
+
"numpy>=2.5.0",
|
|
138
|
+
"plotly>=6.8.0",
|
|
139
|
+
"polars>=1.42.0",
|
|
141
140
|
"python-magic>=0.4.27",
|
|
142
|
-
"sqlalchemy>=2.0.
|
|
141
|
+
"sqlalchemy>=2.0.51",
|
|
143
142
|
]
|
|
144
143
|
|
|
145
144
|
|
|
@@ -10,6 +10,7 @@ from io import StringIO
|
|
|
10
10
|
import platform
|
|
11
11
|
from concurrent.futures import ThreadPoolExecutor
|
|
12
12
|
from pathlib import Path
|
|
13
|
+
from typing import cast
|
|
13
14
|
|
|
14
15
|
import stackops.utils.path_core as path_core
|
|
15
16
|
from rich.console import Console
|
|
@@ -69,14 +70,14 @@ def download_google_drive_file(url: str) -> Path:
|
|
|
69
70
|
|
|
70
71
|
# Create a temporary directory for download
|
|
71
72
|
output_dir = path_core.tmpdir(prefix="gdown_")
|
|
72
|
-
# gdown.download returns the output filename
|
|
73
|
-
import
|
|
74
|
-
output_file =
|
|
75
|
-
|
|
73
|
+
# gdown.download returns the output filename when output is a directory path
|
|
74
|
+
from gdown.download import download
|
|
75
|
+
output_file = download(id=file_id, output=str(output_dir) + "/", quiet=False)
|
|
76
|
+
|
|
76
77
|
if not output_file:
|
|
77
78
|
raise ValueError(f"Download failed for {url}")
|
|
78
|
-
|
|
79
|
-
return Path(output_file)
|
|
79
|
+
|
|
80
|
+
return Path(cast(str, output_file))
|
|
80
81
|
except Exception as e:
|
|
81
82
|
raise RuntimeError(f"Failed to download from Google Drive: {e}") from e
|
|
82
83
|
|
|
@@ -133,47 +133,6 @@ def add_mcp(
|
|
|
133
133
|
raise typer.BadParameter(str(e)) from e
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
def make_todo_files(
|
|
137
|
-
pattern: Annotated[str, typer.Argument(help="Pattern or keyword to match files by")] = ".py",
|
|
138
|
-
repo: Annotated[
|
|
139
|
-
str, typer.Argument(help="Repository or workspace path. If inside a git repo, its root is used; otherwise the directory itself is scanned.")
|
|
140
|
-
] = ".",
|
|
141
|
-
strategy: Annotated[
|
|
142
|
-
Literal["name", "keywords"],
|
|
143
|
-
typer.Option("-s", "--strategy", help="Strategy to filter files: 'name' for filename matching, 'keywords' for content matching"),
|
|
144
|
-
] = "name",
|
|
145
|
-
exclude_init: Annotated[bool, typer.Option("-x", "--exclude-init", help="Exclude __init__.py files from the checklist")] = True,
|
|
146
|
-
include_line_count: Annotated[bool, typer.Option("-l", "--line-count", help="Include line count column in the output")] = False,
|
|
147
|
-
output_path: Annotated[str, typer.Option("-o", "--output-path", help="Base path for output files relative to repo root")] = ".ai/todo/files",
|
|
148
|
-
format_type: Annotated[Literal["csv", "md", "txt"], typer.Option("-f", "--format", help="Output format: csv, md (markdown), or txt")] = "md",
|
|
149
|
-
split_every: Annotated[
|
|
150
|
-
int | None, typer.Option("--split-every", "-e", help="Split output into multiple files, each containing at most this many results")
|
|
151
|
-
] = None,
|
|
152
|
-
split_to: Annotated[int | None, typer.Option("--split-to", "-t", help="Split output into exactly this many files")] = None,
|
|
153
|
-
) -> None:
|
|
154
|
-
"""Generate checklist with Python and shell script files in the repository or workspace filtered by pattern."""
|
|
155
|
-
from stackops.scripts.python.ai.utils.generate_files import make_todo_files as impl
|
|
156
|
-
|
|
157
|
-
impl(
|
|
158
|
-
pattern=pattern,
|
|
159
|
-
repo=repo,
|
|
160
|
-
strategy=strategy,
|
|
161
|
-
exclude_init=exclude_init,
|
|
162
|
-
include_line_count=include_line_count,
|
|
163
|
-
output_path=output_path,
|
|
164
|
-
format_type=format_type,
|
|
165
|
-
split_every=split_every,
|
|
166
|
-
split_to=split_to,
|
|
167
|
-
)
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
def create_symlink_command(num: Annotated[int, typer.Argument(help="Number of symlinks to create (1-5).")] = 5) -> None:
|
|
171
|
-
"""Create symlinks to repo_root at ~/code_copies/${repo_name}_copy_{i}."""
|
|
172
|
-
from stackops.scripts.python.ai.utils.generate_files import create_symlink_command as impl
|
|
173
|
-
|
|
174
|
-
impl(num=num)
|
|
175
|
-
|
|
176
|
-
|
|
177
136
|
def _resolve_interactive_agent(agent: INTERACTIVE_AGENT) -> AGENTS:
|
|
178
137
|
return _INTERACTIVE_AGENT_ALIASES[agent]
|
|
179
138
|
|
|
@@ -348,6 +307,45 @@ def ask(
|
|
|
348
307
|
raise typer.Exit(code=return_code)
|
|
349
308
|
|
|
350
309
|
|
|
310
|
+
def plan(
|
|
311
|
+
prompt: Annotated[
|
|
312
|
+
list[str],
|
|
313
|
+
typer.Argument(
|
|
314
|
+
help="Plan objective. Use -- before the objective to pass option-looking text as prompt content.",
|
|
315
|
+
),
|
|
316
|
+
],
|
|
317
|
+
agent: Annotated[AGENTS, typer.Option("--agent", "-a", help="Agent to generate the plan.")] = DEFAULT_AGENT,
|
|
318
|
+
) -> None:
|
|
319
|
+
"""Generate an agentops plan JSON file via selected agent."""
|
|
320
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_plan_impl import run_plan as impl
|
|
321
|
+
|
|
322
|
+
try:
|
|
323
|
+
plan_path = impl(user_prompt=" ".join(prompt), agent=agent)
|
|
324
|
+
except ValueError as error:
|
|
325
|
+
raise typer.BadParameter(str(error)) from error
|
|
326
|
+
typer.echo(f"Plan target: {plan_path}")
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
def execute(
|
|
330
|
+
plan_json: Annotated[
|
|
331
|
+
Path | None,
|
|
332
|
+
typer.Argument(help="Plan JSON file generated by `agents plan`. If omitted, execute the only .ai/plans/*.plan.json file."),
|
|
333
|
+
] = None,
|
|
334
|
+
agent: Annotated[AGENTS, typer.Option("--agent", "-a", help="Agent used to check whether the active phase is finished.")] = DEFAULT_AGENT,
|
|
335
|
+
interval_seconds: Annotated[int, typer.Option("--interval", "-i", help="Seconds to sleep between executor passes.")] = 300,
|
|
336
|
+
once: Annotated[bool, typer.Option("--once", help="Run one executor pass and exit.")] = False,
|
|
337
|
+
) -> None:
|
|
338
|
+
"""Execute an agentops plan JSON file."""
|
|
339
|
+
import typer as _typer
|
|
340
|
+
|
|
341
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_execute_impl import run_execute as impl
|
|
342
|
+
|
|
343
|
+
try:
|
|
344
|
+
impl(plan_path=plan_json, checker_agent=agent, interval_seconds=interval_seconds, once=once, report=_typer.echo)
|
|
345
|
+
except ValueError as error:
|
|
346
|
+
raise typer.BadParameter(str(error)) from error
|
|
347
|
+
|
|
348
|
+
|
|
351
349
|
def add_skill(
|
|
352
350
|
skill_name: Annotated[
|
|
353
351
|
str | None, typer.Argument(help="Name(s) of the skills to add, comma-separated. If omitted, opens an interactive multi-select picker.")
|
|
@@ -371,7 +369,7 @@ def add_skill(
|
|
|
371
369
|
backend: Annotated[
|
|
372
370
|
_SKILL_INSTALL_BACKEND,
|
|
373
371
|
typer.Option("--backend", "-b", help="Install backend: bunx/npx use the upstream skills CLI; stackops/s copies bundled skills locally."),
|
|
374
|
-
] = "
|
|
372
|
+
] = "stackops",
|
|
375
373
|
yes: Annotated[
|
|
376
374
|
bool,
|
|
377
375
|
typer.Option("--yes", "-y", help="Pass --yes to the upstream skills CLI."),
|
|
@@ -408,14 +406,6 @@ def get_app() -> typer.Typer:
|
|
|
408
406
|
agents_app.command(name="m", hidden=True)(add_mcp)
|
|
409
407
|
agents_app.command(name="add-skill", short_help="<s> Add a skill to an agent")(add_skill)
|
|
410
408
|
agents_app.command(name="s", hidden=True)(add_skill)
|
|
411
|
-
agents_app.command("add-todo", no_args_is_help=True, short_help="<d> Generate a markdown file listing all Python files in the repo")(
|
|
412
|
-
make_todo_files
|
|
413
|
-
)
|
|
414
|
-
agents_app.command("d", no_args_is_help=True, hidden=True)(make_todo_files)
|
|
415
|
-
agents_app.command(name="add-symlinks", no_args_is_help=True, short_help="<L> Create symlinks to the current repo in ~/code_copies/")(
|
|
416
|
-
create_symlink_command
|
|
417
|
-
)
|
|
418
|
-
agents_app.command(name="L", no_args_is_help=True, hidden=True)(create_symlink_command)
|
|
419
409
|
agents_app.command(
|
|
420
410
|
"add-config", no_args_is_help=True, help=init_config.__doc__, short_help="<c> Initialize AI configurations in the current repository"
|
|
421
411
|
)(init_config)
|
|
@@ -429,6 +419,10 @@ def get_app() -> typer.Typer:
|
|
|
429
419
|
agents_app.command(name="i", no_args_is_help=False, hidden=True)(run_interactive)
|
|
430
420
|
agents_app.command(name="ask", no_args_is_help=True, short_help="<a> Ask a selected agent directly")(ask)
|
|
431
421
|
agents_app.command(name="a", no_args_is_help=True, hidden=True)(ask)
|
|
422
|
+
agents_app.command(name="plan", no_args_is_help=True, short_help="<P> Generate an agentops plan JSON via selected agent")(plan)
|
|
423
|
+
agents_app.command(name="P", no_args_is_help=True, hidden=True)(plan)
|
|
424
|
+
agents_app.command(name="execute", no_args_is_help=False, short_help="<E> Execute an agentops plan JSON")(execute)
|
|
425
|
+
agents_app.command(name="E", no_args_is_help=False, hidden=True)(execute)
|
|
432
426
|
return apply_alias_markers(agents_app)
|
|
433
427
|
|
|
434
428
|
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
import typer
|
|
4
|
+
|
|
5
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_constants import BrowserName, BrowserTechName, DEFAULT_BROWSER_PORT
|
|
6
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_launch_models import DetachedBrowserLaunchResult, TmuxBrowserLaunchResult
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def install_tech(
|
|
10
|
+
which: Annotated[
|
|
11
|
+
BrowserTechName,
|
|
12
|
+
typer.Option(
|
|
13
|
+
"--which",
|
|
14
|
+
"-w",
|
|
15
|
+
help="Browser automation tech: agent-browser, playwright-cli, chrome-devtools-mcp, or playwright-mcp.",
|
|
16
|
+
case_sensitive=False,
|
|
17
|
+
show_choices=True,
|
|
18
|
+
),
|
|
19
|
+
] = "agent-browser",
|
|
20
|
+
) -> None:
|
|
21
|
+
"""Install browser automation CLI or MCP support for agents."""
|
|
22
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_impl import install_browser_tech
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
result = install_browser_tech(which=which)
|
|
26
|
+
except ValueError as error:
|
|
27
|
+
raise typer.BadParameter(str(error)) from error
|
|
28
|
+
except RuntimeError as error:
|
|
29
|
+
typer.echo(str(error), err=True)
|
|
30
|
+
raise typer.Exit(code=1) from error
|
|
31
|
+
|
|
32
|
+
typer.echo(f"Prepared {result.which} in: {result.install_root}")
|
|
33
|
+
for command in result.commands:
|
|
34
|
+
typer.echo(f"Ran: {' '.join(command)}")
|
|
35
|
+
for guide_path in result.guide_paths:
|
|
36
|
+
typer.echo(f"Wrote: {guide_path}")
|
|
37
|
+
if len(result.mcp_servers) > 0:
|
|
38
|
+
typer.echo(f"MCP catalog servers: {', '.join(result.mcp_servers)}")
|
|
39
|
+
typer.echo(f"Install into an agent with: stackops agents add-mcp {','.join(result.mcp_servers)} --agent codex --scope local")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def launch_browser(
|
|
43
|
+
port: Annotated[int, typer.Option("--port", "-p", help="Browser automation endpoint port.")] = DEFAULT_BROWSER_PORT,
|
|
44
|
+
browser: Annotated[
|
|
45
|
+
BrowserName,
|
|
46
|
+
typer.Option("--browser", "-b", help="Browser to launch for agent automation.", case_sensitive=False, show_choices=True),
|
|
47
|
+
] = "chrome",
|
|
48
|
+
profile: Annotated[
|
|
49
|
+
str | None,
|
|
50
|
+
typer.Option(
|
|
51
|
+
"--profile",
|
|
52
|
+
"-r",
|
|
53
|
+
help="StackOps profile under ~/data/browsers-profiles/<browser>/<profile>. Omit for a temp profile.",
|
|
54
|
+
),
|
|
55
|
+
] = None,
|
|
56
|
+
lan: Annotated[bool, typer.Option("--lan", "-l", help="Expose endpoint on 0.0.0.0 through a localhost relay.")] = False,
|
|
57
|
+
detached: Annotated[bool, typer.Option("--detached", help="Launch as background processes instead of tmux windows.")] = False,
|
|
58
|
+
) -> None:
|
|
59
|
+
"""Launch browser automation endpoint with an isolated profile when supported."""
|
|
60
|
+
try:
|
|
61
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_impl import launch_browser as launch_browser_impl
|
|
62
|
+
|
|
63
|
+
result = launch_browser_impl(browser=browser, port=port, profile_name=profile, lan=lan, detached=detached)
|
|
64
|
+
except ValueError as error:
|
|
65
|
+
raise typer.BadParameter(str(error)) from error
|
|
66
|
+
except RuntimeError as error:
|
|
67
|
+
typer.echo(str(error), err=True)
|
|
68
|
+
raise typer.Exit(code=1) from error
|
|
69
|
+
|
|
70
|
+
match result:
|
|
71
|
+
case DetachedBrowserLaunchResult():
|
|
72
|
+
typer.echo(f"Launched {result.process_label}: pid={result.process_id}")
|
|
73
|
+
if result.relay_process_id is not None:
|
|
74
|
+
typer.echo(f"Relay: pid={result.relay_process_id} target=127.0.0.1:{result.browser_port}")
|
|
75
|
+
case TmuxBrowserLaunchResult():
|
|
76
|
+
typer.echo(f"Launched {result.process_label} in tmux session: {result.tmux.session_name}")
|
|
77
|
+
typer.echo(f"Browser window: {result.tmux.browser_window_name}")
|
|
78
|
+
if result.tmux.relay_window_name is not None:
|
|
79
|
+
typer.echo(f"Relay window: {result.tmux.relay_window_name} target=127.0.0.1:{result.browser_port}")
|
|
80
|
+
typer.echo(f"Attach: {' '.join(result.tmux.attach_command)}")
|
|
81
|
+
typer.echo(f"Executable: {result.browser_path}")
|
|
82
|
+
typer.echo(f"{result.endpoint_short_label}: {result.host}:{result.port}")
|
|
83
|
+
if result.profile_path is not None:
|
|
84
|
+
typer.echo(f"Profile: {result.profile_path}")
|
|
85
|
+
typer.echo(f"Prompt: {result.prompt_path}")
|
|
86
|
+
if lan:
|
|
87
|
+
typer.echo(f"{result.endpoint_short_label} is exposed on 0.0.0.0 through a relay; use this only on a trusted network.")
|
|
88
|
+
if isinstance(result, TmuxBrowserLaunchResult):
|
|
89
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_tmux import attach_or_switch_tmux_session
|
|
90
|
+
|
|
91
|
+
try:
|
|
92
|
+
attach_or_switch_tmux_session(session_name=result.tmux.session_name)
|
|
93
|
+
except RuntimeError as error:
|
|
94
|
+
typer.echo(str(error), err=True)
|
|
95
|
+
raise typer.Exit(code=1) from error
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def status() -> None:
|
|
99
|
+
"""Show active StackOps browser tmux windows."""
|
|
100
|
+
try:
|
|
101
|
+
from rich import box
|
|
102
|
+
from rich.console import Console
|
|
103
|
+
from rich.table import Table
|
|
104
|
+
|
|
105
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_browser_tmux import collect_browser_tmux_status
|
|
106
|
+
|
|
107
|
+
rows = collect_browser_tmux_status()
|
|
108
|
+
except RuntimeError as error:
|
|
109
|
+
typer.echo(str(error), err=True)
|
|
110
|
+
raise typer.Exit(code=1) from error
|
|
111
|
+
|
|
112
|
+
launch_count = len({row.metadata.launch_id for row in rows})
|
|
113
|
+
window_count = len({row.window_id for row in rows})
|
|
114
|
+
table = Table(
|
|
115
|
+
title=f"StackOps browser tmux: {launch_count} launch(es), {window_count} window(s), {len(rows)} pane(s)",
|
|
116
|
+
box=box.SIMPLE_HEAVY,
|
|
117
|
+
show_lines=False,
|
|
118
|
+
)
|
|
119
|
+
table.add_column("Session", style="cyan", overflow="fold")
|
|
120
|
+
table.add_column("Launch", overflow="fold")
|
|
121
|
+
table.add_column("Role")
|
|
122
|
+
table.add_column("Browser")
|
|
123
|
+
table.add_column("Profile", overflow="fold")
|
|
124
|
+
table.add_column("Endpoint")
|
|
125
|
+
table.add_column("Window")
|
|
126
|
+
table.add_column("Pane")
|
|
127
|
+
table.add_column("State")
|
|
128
|
+
table.add_column("PID", justify="right")
|
|
129
|
+
table.add_column("Command")
|
|
130
|
+
table.add_column("Profile Path", overflow="fold")
|
|
131
|
+
table.add_column("Prompt", overflow="fold")
|
|
132
|
+
|
|
133
|
+
for row in rows:
|
|
134
|
+
state = "dead" if row.pane_dead else "running"
|
|
135
|
+
endpoint = f"{row.metadata.host}:{row.metadata.port}"
|
|
136
|
+
if row.metadata.lan == "yes":
|
|
137
|
+
endpoint = f"{endpoint} -> 127.0.0.1:{row.metadata.browser_port}"
|
|
138
|
+
table.add_row(
|
|
139
|
+
row.session_name,
|
|
140
|
+
row.metadata.launch_id,
|
|
141
|
+
row.metadata.role,
|
|
142
|
+
row.metadata.browser,
|
|
143
|
+
row.metadata.profile,
|
|
144
|
+
endpoint,
|
|
145
|
+
f"{row.window_index}:{row.window_name}",
|
|
146
|
+
f"{row.pane_index} {row.pane_id}",
|
|
147
|
+
state,
|
|
148
|
+
row.pane_pid,
|
|
149
|
+
row.pane_current_command,
|
|
150
|
+
row.metadata.profile_path,
|
|
151
|
+
row.metadata.prompt_path,
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
Console().print(table)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def get_app() -> typer.Typer:
|
|
158
|
+
browser_app = typer.Typer(help="🌐 <b> Browser automation for agent CLIs and MCP", no_args_is_help=True, add_help_option=True, add_completion=False)
|
|
159
|
+
browser_app.command(name="install-tech", no_args_is_help=False, short_help="<i> Install agent-browser, playwright-cli, or MCP configs")(install_tech)
|
|
160
|
+
browser_app.command(name="i", no_args_is_help=False, hidden=True)(install_tech)
|
|
161
|
+
browser_app.command(name="launch-browser", no_args_is_help=True, short_help="<l> Launch browser automation endpoint")(launch_browser)
|
|
162
|
+
browser_app.command(name="l", no_args_is_help=True, hidden=True)(launch_browser)
|
|
163
|
+
browser_app.command(name="status", no_args_is_help=False, short_help="<s> Show active browser tmux windows")(status)
|
|
164
|
+
browser_app.command(name="s", no_args_is_help=False, hidden=True)(status)
|
|
165
|
+
return browser_app
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Annotated
|
|
3
|
+
|
|
4
|
+
import typer
|
|
5
|
+
|
|
6
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_iter_constants import (
|
|
7
|
+
CLOSE_LOOP_INTERVAL_SECONDS,
|
|
8
|
+
DEFAULT_RETAIN_PREVIOUS_ITERATIONS,
|
|
9
|
+
DEFAULT_TRACK_MAX_ITERATIONS,
|
|
10
|
+
TRACK_INTERVAL_SECONDS,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def close(
|
|
15
|
+
space_name: Annotated[
|
|
16
|
+
str | None,
|
|
17
|
+
typer.Argument(help="Herdr iter workspace label or stable ID to close. Use --all for every iter workspace."),
|
|
18
|
+
] = None,
|
|
19
|
+
continuous: Annotated[bool, typer.Option("--loop", "-l", help="Repeat close passes until interrupted.")] = False,
|
|
20
|
+
all_workspaces: Annotated[
|
|
21
|
+
bool,
|
|
22
|
+
typer.Option("--all", "-a", help="Close old idle tabs in all iter workspaces."),
|
|
23
|
+
] = False,
|
|
24
|
+
retain_previous: Annotated[
|
|
25
|
+
int,
|
|
26
|
+
typer.Option(
|
|
27
|
+
"--retain-previous",
|
|
28
|
+
"-k",
|
|
29
|
+
min=0,
|
|
30
|
+
help="Retain the latest iteration plus this many previous iterations.",
|
|
31
|
+
),
|
|
32
|
+
] = DEFAULT_RETAIN_PREVIOUS_ITERATIONS,
|
|
33
|
+
dry_run: Annotated[bool, typer.Option("--dry-run", help="Show the close plan without closing tabs.")] = False,
|
|
34
|
+
interval_seconds: Annotated[
|
|
35
|
+
int,
|
|
36
|
+
typer.Option("--interval", "-i", min=1, help="Seconds between close passes when --loop is used."),
|
|
37
|
+
] = CLOSE_LOOP_INTERVAL_SECONDS,
|
|
38
|
+
) -> None:
|
|
39
|
+
"""Safely close old idle iteration tabs after revalidating their live state."""
|
|
40
|
+
try:
|
|
41
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_iter_rich_output import show_close_iter_workspaces_loop
|
|
42
|
+
|
|
43
|
+
show_close_iter_workspaces_loop(
|
|
44
|
+
workspace_name=space_name,
|
|
45
|
+
all_workspaces=all_workspaces,
|
|
46
|
+
continuous=continuous,
|
|
47
|
+
retain_previous=retain_previous,
|
|
48
|
+
dry_run=dry_run,
|
|
49
|
+
interval_seconds=interval_seconds,
|
|
50
|
+
)
|
|
51
|
+
except ValueError as error:
|
|
52
|
+
raise typer.BadParameter(str(error)) from error
|
|
53
|
+
except RuntimeError as error:
|
|
54
|
+
typer.echo(str(error), err=True)
|
|
55
|
+
raise typer.Exit(code=1) from error
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def clean(
|
|
59
|
+
dry_run: Annotated[bool, typer.Option("--dry-run", help="Show stale iteration records without removing them.")] = False,
|
|
60
|
+
) -> None:
|
|
61
|
+
"""Remove stale iteration records while preserving live and unrelated AgentOps records."""
|
|
62
|
+
try:
|
|
63
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_iter_rich_output import show_clean_agentops_cache
|
|
64
|
+
|
|
65
|
+
show_clean_agentops_cache(cwd=Path.cwd(), dry_run=dry_run)
|
|
66
|
+
except RuntimeError as error:
|
|
67
|
+
typer.echo(str(error), err=True)
|
|
68
|
+
raise typer.Exit(code=1) from error
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def track(
|
|
72
|
+
space_name: Annotated[str, typer.Argument(help="Herdr iter workspace label or stable ID to track.")],
|
|
73
|
+
max_iterations: Annotated[int, typer.Argument(help="Maximum allowed iteration number before the workspace is closed.")] = DEFAULT_TRACK_MAX_ITERATIONS,
|
|
74
|
+
interval_seconds: Annotated[
|
|
75
|
+
int,
|
|
76
|
+
typer.Option("--interval", "-i", min=1, help="Seconds to sleep between iteration-budget checks."),
|
|
77
|
+
] = TRACK_INTERVAL_SECONDS,
|
|
78
|
+
retain_previous: Annotated[
|
|
79
|
+
int,
|
|
80
|
+
typer.Option(
|
|
81
|
+
"--retain-previous",
|
|
82
|
+
"-k",
|
|
83
|
+
min=0,
|
|
84
|
+
help="Retain the latest iteration plus this many previous iterations.",
|
|
85
|
+
),
|
|
86
|
+
] = DEFAULT_RETAIN_PREVIOUS_ITERATIONS,
|
|
87
|
+
) -> None:
|
|
88
|
+
"""Track an iter Herdr workspace status, close old iteration tabs, and close after budget."""
|
|
89
|
+
try:
|
|
90
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_iter_rich_output import show_track_iter_workspace_loop
|
|
91
|
+
|
|
92
|
+
show_track_iter_workspace_loop(
|
|
93
|
+
workspace_name=space_name,
|
|
94
|
+
max_iterations=max_iterations,
|
|
95
|
+
interval_seconds=interval_seconds,
|
|
96
|
+
retain_previous=retain_previous,
|
|
97
|
+
)
|
|
98
|
+
except ValueError as error:
|
|
99
|
+
raise typer.BadParameter(str(error)) from error
|
|
100
|
+
except RuntimeError as error:
|
|
101
|
+
typer.echo(str(error), err=True)
|
|
102
|
+
raise typer.Exit(code=1) from error
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def status(
|
|
106
|
+
retain_previous: Annotated[
|
|
107
|
+
int,
|
|
108
|
+
typer.Option(
|
|
109
|
+
"--retain-previous",
|
|
110
|
+
"-k",
|
|
111
|
+
min=0,
|
|
112
|
+
help="Evaluate closable tabs while retaining this many previous iterations.",
|
|
113
|
+
),
|
|
114
|
+
] = DEFAULT_RETAIN_PREVIOUS_ITERATIONS,
|
|
115
|
+
) -> None:
|
|
116
|
+
"""Show each iter loop's latest iteration agent and live Herdr status."""
|
|
117
|
+
try:
|
|
118
|
+
from stackops.scripts.python.helpers.helpers_agents.agents_iter_rich_output import show_iter_status
|
|
119
|
+
|
|
120
|
+
show_iter_status(retain_previous=retain_previous)
|
|
121
|
+
except RuntimeError as error:
|
|
122
|
+
typer.echo(str(error), err=True)
|
|
123
|
+
raise typer.Exit(code=1) from error
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def get_app() -> typer.Typer:
|
|
127
|
+
iter_app = typer.Typer(help="🔁 <I> Iter workflow maintenance commands", no_args_is_help=True, add_help_option=True, add_completion=False)
|
|
128
|
+
iter_app.command(name="clean", no_args_is_help=False, short_help="<c> Remove stale iter records under .ai")(clean)
|
|
129
|
+
iter_app.command(name="c", no_args_is_help=False, hidden=True)(clean)
|
|
130
|
+
iter_app.command(name="close", no_args_is_help=False, short_help="<x> Revalidate and close old idle iter tabs")(close)
|
|
131
|
+
iter_app.command(name="x", no_args_is_help=False, hidden=True)(close)
|
|
132
|
+
iter_app.command(name="track", no_args_is_help=False, short_help="<t> Track, prune old tabs, and enforce budget")(track)
|
|
133
|
+
iter_app.command(name="t", no_args_is_help=False, hidden=True)(track)
|
|
134
|
+
iter_app.command(name="status", no_args_is_help=False, short_help="<s> Show live iter state and safe close counts")(status)
|
|
135
|
+
iter_app.command(name="s", no_args_is_help=False, hidden=True)(status)
|
|
136
|
+
return iter_app
|
{stackops-26.6.6 → stackops-26.7}/src/stackops/scripts/python/ai/solutions/codex/config.toml
RENAMED
|
@@ -12,6 +12,9 @@ network_access = true
|
|
|
12
12
|
[features]
|
|
13
13
|
multi_agent = true
|
|
14
14
|
|
|
15
|
+
[tui]
|
|
16
|
+
status_line = ["model-with-reasoning", "context-remaining", "current-dir", "model-name", "project-root", "git-branch", "context-used", "five-hour-limit"]
|
|
17
|
+
|
|
15
18
|
[analytics]
|
|
16
19
|
enabled = false
|
|
17
20
|
|
|
@@ -8,7 +8,6 @@ import typer
|
|
|
8
8
|
|
|
9
9
|
from stackops.scripts.python.ai.utils.generate_files_content import generate_content
|
|
10
10
|
from stackops.scripts.python.ai.utils.generate_files_utils import (
|
|
11
|
-
create_repo_symlinks,
|
|
12
11
|
filter_files_by_content,
|
|
13
12
|
filter_files_by_name,
|
|
14
13
|
get_python_files,
|
|
@@ -103,20 +102,5 @@ def make_todo_files(
|
|
|
103
102
|
console.print(Panel(success_msg, border_style="bold blue", expand=False))
|
|
104
103
|
|
|
105
104
|
|
|
106
|
-
def create_symlink_command(num: Annotated[int, typer.Argument(help="Number of symlinks to create (1-5).")] = 5) -> None:
|
|
107
|
-
"""Create 5 symlinks to repo_root at ~/code_copies/${repo_name}_copy_{i}."""
|
|
108
|
-
from rich.console import Console
|
|
109
|
-
from rich.panel import Panel
|
|
110
|
-
|
|
111
|
-
if num < 1 or num > 5:
|
|
112
|
-
console = Console()
|
|
113
|
-
console.print(Panel("❌ ERROR | Number of symlinks must be between 1 and 5.", border_style="bold red", expand=False))
|
|
114
|
-
raise typer.Exit(code=1)
|
|
115
|
-
repo_root = Path.cwd().absolute()
|
|
116
|
-
create_repo_symlinks(repo_root)
|
|
117
|
-
console = Console()
|
|
118
|
-
console.print(Panel(f"✅ SUCCESS | Created {num} symlinks to {repo_root} in ~/code_copies/", border_style="bold green", expand=False))
|
|
119
|
-
|
|
120
|
-
|
|
121
105
|
if __name__ == "__main__":
|
|
122
106
|
typer.run(make_todo_files)
|