stackops 26.6.1__tar.gz → 26.6.3__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.
Files changed (1169) hide show
  1. stackops-26.6.3/PKG-INFO +118 -0
  2. stackops-26.6.3/pyproject.toml +163 -0
  3. stackops-26.6.3/src/manual/test_secrets_schema.py +47 -0
  4. stackops-26.6.3/src/manual/test_stackops_versioning.py +42 -0
  5. stackops-26.6.3/src/stackops/architecture_graph/__main__.py +5 -0
  6. stackops-26.6.3/src/stackops/architecture_graph/cli.py +70 -0
  7. stackops-26.6.3/src/stackops/architecture_graph/graph.py +148 -0
  8. stackops-26.6.3/src/stackops/architecture_graph/graph_css.txt +193 -0
  9. stackops-26.6.3/src/stackops/architecture_graph/graph_css_continued.txt +288 -0
  10. stackops-26.6.3/src/stackops/architecture_graph/graph_js.txt +244 -0
  11. stackops-26.6.3/src/stackops/architecture_graph/graph_js_continued.txt +479 -0
  12. stackops-26.6.3/src/stackops/architecture_graph/models.py +54 -0
  13. stackops-26.6.3/src/stackops/architecture_graph/renderer.py +90 -0
  14. stackops-26.6.3/src/stackops/architecture_graph/scanner.py +106 -0
  15. stackops-26.6.3/src/stackops/cluster/remote/cloud_manager.py +371 -0
  16. stackops-26.6.3/src/stackops/cluster/remote/data_transfer.py +45 -0
  17. stackops-26.6.3/src/stackops/cluster/remote/distribute.py +302 -0
  18. stackops-26.6.3/src/stackops/cluster/remote/notification.py +32 -0
  19. stackops-26.6.3/src/stackops/cluster/remote/notifications.py +189 -0
  20. stackops-26.6.3/src/stackops/cluster/remote/remote_machine.py +274 -0
  21. stackops-26.6.3/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +183 -0
  22. stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_local.py +251 -0
  23. stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager.py +366 -0
  24. stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote_manager.py +314 -0
  25. stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_local_manager.py +447 -0
  26. stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_remote_manager.py +196 -0
  27. stackops-26.6.3/src/stackops/jobs/installer/checks/install_utils.py +159 -0
  28. stackops-26.6.3/src/stackops/jobs/installer/checks/vt_utils.py +179 -0
  29. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/alacritty.py +92 -0
  30. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/boxes.py +68 -0
  31. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/brave.py +94 -0
  32. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +84 -0
  33. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +34 -0
  34. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/code.py +76 -0
  35. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/cursor.py +124 -0
  36. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/docker.py +191 -0
  37. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +39 -0
  38. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/espanso.py +174 -0
  39. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/hx.py +234 -0
  40. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/lvim.py +95 -0
  41. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/nerdfont.py +364 -0
  42. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/orca.py +148 -0
  43. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/poppler.py +68 -0
  44. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/redis.py +83 -0
  45. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/rmpc.py +474 -0
  46. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/sysabc.py +51 -0
  47. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/termusic.py +351 -0
  48. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/wezterm.py +83 -0
  49. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/winget.py +182 -0
  50. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/yazi.py +114 -0
  51. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/youtube_tui.py +357 -0
  52. stackops-26.6.3/src/stackops/jobs/installer/python_scripts/ytui_music.py +412 -0
  53. stackops-26.6.3/src/stackops/paths.py +7 -0
  54. stackops-26.6.3/src/stackops/profile/create_helper.py +70 -0
  55. stackops-26.6.3/src/stackops/profile/create_links.py +469 -0
  56. stackops-26.6.3/src/stackops/profile/create_links_export.py +97 -0
  57. stackops-26.6.3/src/stackops/profile/linking/conflict.py +33 -0
  58. stackops-26.6.3/src/stackops/profile/linking/operations.py +364 -0
  59. stackops-26.6.3/src/stackops/profile/linking/options.py +50 -0
  60. stackops-26.6.3/src/stackops/scripts/python/agents.py +402 -0
  61. stackops-26.6.3/src/stackops/scripts/python/agents_browser.py +83 -0
  62. stackops-26.6.3/src/stackops/scripts/python/agents_parallel.py +61 -0
  63. stackops-26.6.3/src/stackops/scripts/python/agents_parallel_commands.py +220 -0
  64. stackops-26.6.3/src/stackops/scripts/python/agents_parallel_run_command.py +111 -0
  65. stackops-26.6.3/src/stackops/scripts/python/agents_test_runtime.py +180 -0
  66. stackops-26.6.3/src/stackops/scripts/python/agents_type_fix.py +71 -0
  67. stackops-26.6.3/src/stackops/scripts/python/ai/initai.py +188 -0
  68. stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models.py +175 -0
  69. stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_config.py +329 -0
  70. stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_core.py +36 -0
  71. stackops-26.6.3/src/stackops/scripts/python/ai/scripts/models_reports.py +186 -0
  72. stackops-26.6.3/src/stackops/scripts/python/ai/utils/generic.instructions.md +91 -0
  73. stackops-26.6.3/src/stackops/scripts/python/ai/utils/shared.py +15 -0
  74. stackops-26.6.3/src/stackops/scripts/python/cloud.py +120 -0
  75. stackops-26.6.3/src/stackops/scripts/python/devops.py +194 -0
  76. stackops-26.6.3/src/stackops/scripts/python/fire_jobs.py +82 -0
  77. stackops-26.6.3/src/stackops/scripts/python/graph/cli_graph.json +24484 -0
  78. stackops-26.6.3/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +20 -0
  79. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +197 -0
  80. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +413 -0
  81. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +226 -0
  82. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +40 -0
  83. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +32 -0
  84. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +41 -0
  85. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +18 -0
  86. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +44 -0
  87. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +27 -0
  88. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +171 -0
  89. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +19 -0
  90. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +65 -0
  91. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +181 -0
  92. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +327 -0
  93. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +218 -0
  94. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +498 -0
  95. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +115 -0
  96. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +203 -0
  97. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +179 -0
  98. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +263 -0
  99. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +56 -0
  100. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +180 -0
  101. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +363 -0
  102. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +258 -0
  103. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +110 -0
  104. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +28 -0
  105. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +13 -0
  106. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-cli.md +26 -0
  107. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +281 -0
  108. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +350 -0
  109. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +637 -0
  110. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +46 -0
  111. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +91 -0
  112. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/backup_config.py +323 -0
  113. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/backup_registration.py +118 -0
  114. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +488 -0
  115. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +197 -0
  116. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +91 -0
  117. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +78 -0
  118. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +335 -0
  119. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +418 -0
  120. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +456 -0
  121. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +217 -0
  122. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +314 -0
  123. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +574 -0
  124. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +309 -0
  125. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +484 -0
  126. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +309 -0
  127. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +234 -0
  128. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +159 -0
  129. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +159 -0
  130. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +420 -0
  131. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +635 -0
  132. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/__init__.py +1 -0
  133. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_docs.py +184 -0
  134. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_installer.py +175 -0
  135. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_logic.py +253 -0
  136. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_test.py +186 -0
  137. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflow_capture.py +99 -0
  138. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +250 -0
  139. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +167 -0
  140. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +220 -0
  141. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +167 -0
  142. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +217 -0
  143. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +127 -0
  144. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +223 -0
  145. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +247 -0
  146. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +49 -0
  147. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +279 -0
  148. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +112 -0
  149. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_devops/vault.py +580 -0
  150. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +227 -0
  151. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +250 -0
  152. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +101 -0
  153. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +145 -0
  154. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +321 -0
  155. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +103 -0
  156. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +138 -0
  157. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +277 -0
  158. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +229 -0
  159. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +311 -0
  160. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +176 -0
  161. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +329 -0
  162. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +125 -0
  163. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +460 -0
  164. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_repos/sync.py +94 -0
  165. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_search/script_help.py +71 -0
  166. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_attach_common.py +105 -0
  167. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +445 -0
  168. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +236 -0
  169. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +194 -0
  170. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +322 -0
  171. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend.py +276 -0
  172. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +130 -0
  173. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +24 -0
  174. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +218 -0
  175. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +225 -0
  176. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +61 -0
  177. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +100 -0
  178. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +290 -0
  179. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +143 -0
  180. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/path_helper.py +192 -0
  181. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/processes.py +274 -0
  182. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +417 -0
  183. stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils/python.py +265 -0
  184. stackops-26.6.3/src/stackops/scripts/python/preview.py +104 -0
  185. stackops-26.6.3/src/stackops/scripts/python/stackops_entry.py +152 -0
  186. stackops-26.6.3/src/stackops/scripts/python/terminal.py +530 -0
  187. stackops-26.6.3/src/stackops/scripts/setup/linux/interactive.sh +31 -0
  188. stackops-26.6.3/src/stackops/scripts/setup/windows/interactive.ps1 +33 -0
  189. stackops-26.6.3/src/stackops/scripts/windows/__init__.py +1 -0
  190. stackops-26.6.3/src/stackops/secrets/__init__.py +1 -0
  191. stackops-26.6.3/src/stackops/secrets/loader.py +227 -0
  192. stackops-26.6.3/src/stackops/secrets/paths.py +5 -0
  193. stackops-26.6.3/src/stackops/secrets/readers.py +63 -0
  194. stackops-26.6.3/src/stackops/secrets/search.py +152 -0
  195. stackops-26.6.3/src/stackops/settings/ollama/__init__.py +1 -0
  196. stackops-26.6.3/src/stackops/settings/psmux/__init__.py +1 -0
  197. stackops-26.6.3/src/stackops/settings/yazi/scripts/serve_browser_file.py +251 -0
  198. stackops-26.6.3/src/stackops/utils/cli_utils/command_lookup.py +36 -0
  199. stackops-26.6.3/src/stackops/utils/cli_utils/hierarchy.py +1397 -0
  200. stackops-26.6.3/src/stackops/utils/cli_utils/hierarchy_types.py +1659 -0
  201. stackops-26.6.3/src/stackops/utils/cloud/defaults.py +31 -0
  202. stackops-26.6.3/src/stackops/utils/cloud/encryption.py +19 -0
  203. stackops-26.6.3/src/stackops/utils/cloud/rclone.py +315 -0
  204. stackops-26.6.3/src/stackops/utils/cloud/rclone_wrapper.py +171 -0
  205. stackops-26.6.3/src/stackops/utils/code.py +209 -0
  206. stackops-26.6.3/src/stackops/utils/files/headers.py +69 -0
  207. stackops-26.6.3/src/stackops/utils/files/read.py +202 -0
  208. stackops-26.6.3/src/stackops/utils/installer_utils/install_from_url.py +259 -0
  209. stackops-26.6.3/src/stackops/utils/installer_utils/install_request_logic.py +103 -0
  210. stackops-26.6.3/src/stackops/utils/installer_utils/installer_class.py +391 -0
  211. stackops-26.6.3/src/stackops/utils/installer_utils/installer_cli.py +260 -0
  212. stackops-26.6.3/src/stackops/utils/installer_utils/installer_explore.py +252 -0
  213. stackops-26.6.3/src/stackops/utils/installer_utils/installer_helper.py +175 -0
  214. stackops-26.6.3/src/stackops/utils/installer_utils/installer_offline_constants.py +73 -0
  215. stackops-26.6.3/src/stackops/utils/installer_utils/installer_offline_publish.py +103 -0
  216. stackops-26.6.3/src/stackops/utils/installer_utils/installer_runner.py +178 -0
  217. stackops-26.6.3/src/stackops/utils/io.py +318 -0
  218. stackops-26.6.3/src/stackops/utils/machine/__init__.py +1 -0
  219. stackops-26.6.3/src/stackops/utils/machine/specs.py +55 -0
  220. stackops-26.6.3/src/stackops/utils/meta.py +278 -0
  221. stackops-26.6.3/src/stackops/utils/network/__init__.py +1 -0
  222. stackops-26.6.3/src/stackops/utils/options_utils/options.py +322 -0
  223. stackops-26.6.3/src/stackops/utils/options_utils/textual_options_form.py +421 -0
  224. stackops-26.6.3/src/stackops/utils/options_utils/textual_options_form_types.py +22 -0
  225. stackops-26.6.3/src/stackops/utils/python/__init__.py +1 -0
  226. stackops-26.6.3/src/stackops/utils/python/imports.py +39 -0
  227. stackops-26.6.3/src/stackops/utils/repos/__init__.py +1 -0
  228. stackops-26.6.3/src/stackops/utils/repos/stackops_paths.py +39 -0
  229. stackops-26.6.3/src/stackops/utils/schemas/__init__.py +1 -0
  230. stackops-26.6.3/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +61 -0
  231. stackops-26.6.3/src/stackops/utils/schemas/fire_agents/fire_agents_types.py +66 -0
  232. stackops-26.6.3/src/stackops/utils/schemas/installer/installer_data.json +6064 -0
  233. stackops-26.6.3/src/stackops/utils/schemas/installer/package_groups.py +311 -0
  234. stackops-26.6.3/src/stackops/utils/schemas/layouts/layout_types.py +94 -0
  235. stackops-26.6.3/src/stackops/utils/source_of_truth.py +135 -0
  236. stackops-26.6.3/src/stackops/utils/ssh_utils/abc.py +28 -0
  237. stackops-26.6.3/src/stackops/utils/ssh_utils/ssh.py +888 -0
  238. stackops-26.6.3/src/stackops/version.py +21 -0
  239. stackops-26.6.3/src/stackops.egg-info/PKG-INFO +118 -0
  240. stackops-26.6.3/src/stackops.egg-info/SOURCES.txt +952 -0
  241. stackops-26.6.1/PKG-INFO +0 -118
  242. stackops-26.6.1/pyproject.toml +0 -163
  243. stackops-26.6.1/src/manual/test_secrets_schema.py +0 -47
  244. stackops-26.6.1/src/manual/test_stackops_versioning.py +0 -42
  245. stackops-26.6.1/src/stackops/cluster/remote/cloud_manager.py +0 -371
  246. stackops-26.6.1/src/stackops/cluster/remote/data_transfer.py +0 -45
  247. stackops-26.6.1/src/stackops/cluster/remote/distribute.py +0 -302
  248. stackops-26.6.1/src/stackops/cluster/remote/notification.py +0 -32
  249. stackops-26.6.1/src/stackops/cluster/remote/remote_machine.py +0 -274
  250. stackops-26.6.1/src/stackops/cluster/sessions_managers/tmux/tmux_local_manager.py +0 -183
  251. stackops-26.6.1/src/stackops/cluster/sessions_managers/windows_terminal/wt_local.py +0 -253
  252. stackops-26.6.1/src/stackops/cluster/sessions_managers/windows_terminal/wt_local_manager.py +0 -371
  253. stackops-26.6.1/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote_manager.py +0 -314
  254. stackops-26.6.1/src/stackops/cluster/sessions_managers/zellij/zellij_local_manager.py +0 -447
  255. stackops-26.6.1/src/stackops/cluster/sessions_managers/zellij/zellij_remote_manager.py +0 -196
  256. stackops-26.6.1/src/stackops/jobs/installer/checks/install_utils.py +0 -158
  257. stackops-26.6.1/src/stackops/jobs/installer/checks/vt_utils.py +0 -179
  258. stackops-26.6.1/src/stackops/jobs/installer/package_groups.py +0 -310
  259. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/alacritty.py +0 -92
  260. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/boxes.py +0 -68
  261. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/brave.py +0 -93
  262. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/bypass_paywall.py +0 -84
  263. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/cloudflare_warp_cli.py +0 -34
  264. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/code.py +0 -76
  265. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/cursor.py +0 -124
  266. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/docker.py +0 -190
  267. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/dubdb_adbc.py +0 -39
  268. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/espanso.py +0 -174
  269. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/hx.py +0 -234
  270. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/lvim.py +0 -95
  271. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/nerdfont.py +0 -364
  272. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/orca.py +0 -148
  273. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/poppler.py +0 -68
  274. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/redis.py +0 -83
  275. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/rmpc.py +0 -474
  276. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/sysabc.py +0 -50
  277. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/termusic.py +0 -351
  278. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/wezterm.py +0 -83
  279. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/winget.py +0 -182
  280. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/yazi.py +0 -114
  281. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/youtube_tui.py +0 -356
  282. stackops-26.6.1/src/stackops/jobs/installer/python_scripts/ytui_music.py +0 -412
  283. stackops-26.6.1/src/stackops/profile/create_helper.py +0 -75
  284. stackops-26.6.1/src/stackops/profile/create_links.py +0 -468
  285. stackops-26.6.1/src/stackops/profile/create_links_export.py +0 -155
  286. stackops-26.6.1/src/stackops/scripts/linux/__init__.py +0 -1
  287. stackops-26.6.1/src/stackops/scripts/nu/__init__.py +0 -1
  288. stackops-26.6.1/src/stackops/scripts/python/agents.py +0 -325
  289. stackops-26.6.1/src/stackops/scripts/python/agents_browser.py +0 -83
  290. stackops-26.6.1/src/stackops/scripts/python/agents_parallel.py +0 -61
  291. stackops-26.6.1/src/stackops/scripts/python/agents_parallel_commands.py +0 -194
  292. stackops-26.6.1/src/stackops/scripts/python/agents_parallel_run_command.py +0 -110
  293. stackops-26.6.1/src/stackops/scripts/python/ai/initai.py +0 -188
  294. stackops-26.6.1/src/stackops/scripts/python/ai/scripts/models.py +0 -186
  295. stackops-26.6.1/src/stackops/scripts/python/ai/scripts/models_config.py +0 -329
  296. stackops-26.6.1/src/stackops/scripts/python/ai/scripts/models_reports.py +0 -186
  297. stackops-26.6.1/src/stackops/scripts/python/ai/utils/shared.py +0 -18
  298. stackops-26.6.1/src/stackops/scripts/python/cloud.py +0 -117
  299. stackops-26.6.1/src/stackops/scripts/python/devops.py +0 -177
  300. stackops-26.6.1/src/stackops/scripts/python/fire_jobs.py +0 -80
  301. stackops-26.6.1/src/stackops/scripts/python/graph/cli_graph.json +0 -24162
  302. stackops-26.6.1/src/stackops/scripts/python/graph/visualize/helpers_navigator/devops_navigator.py +0 -20
  303. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/common.py +0 -197
  304. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/create_options.py +0 -413
  305. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive/main.py +0 -226
  306. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_codex.py +0 -40
  307. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_copilot.py +0 -32
  308. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.py +0 -41
  309. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_cursor_agents.py +0 -18
  310. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_pi.py +0 -44
  311. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_qwen.py +0 -27
  312. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_ask_impl.py +0 -171
  313. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_constants.py +0 -17
  314. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_guides.py +0 -61
  315. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_impl.py +0 -158
  316. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_create_artifacts.py +0 -327
  317. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_create_inputs.py +0 -218
  318. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_impl.py +0 -521
  319. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_mcp_impl.py +0 -115
  320. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_config.py +0 -203
  321. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_impl.py +0 -175
  322. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_run_yaml.py +0 -263
  323. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_yaml_defaults.py +0 -56
  324. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_rich_output.py +0 -180
  325. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_run_context.py +0 -363
  326. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_run_impl.py +0 -252
  327. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_skill_impl.py +0 -110
  328. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agents_yaml_schemas.py +0 -28
  329. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/__init__.py +0 -12
  330. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_launch.py +0 -281
  331. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_helper_types.py +0 -83
  332. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/mcp_catalog.py +0 -350
  333. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/mcp_install.py +0 -637
  334. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/mcp_types.py +0 -46
  335. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/reasoning_capabilities.py +0 -91
  336. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_copy.py +0 -452
  337. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount.py +0 -197
  338. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_path_resolver.py +0 -91
  339. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_cloud/cloud_sync.py +0 -78
  340. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/backup_config.py +0 -323
  341. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_backup_retrieve.py +0 -438
  342. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config.py +0 -418
  343. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_mapper.py +0 -454
  344. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_dotfile_transfer.py +0 -217
  345. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets.py +0 -308
  346. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_actions.py +0 -506
  347. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_candidates.py +0 -309
  348. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_support.py +0 -484
  349. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_data.py +0 -309
  350. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_device.py +0 -232
  351. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_nw.py +0 -158
  352. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_nw_vscode_share.py +0 -159
  353. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_repos.py +0 -420
  354. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self.py +0 -600
  355. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_docs.py +0 -184
  356. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_installer.py +0 -175
  357. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_logic.py +0 -253
  358. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/update_test.py +0 -186
  359. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflow_capture.py +0 -99
  360. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docker.py +0 -249
  361. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_docs.py +0 -167
  362. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_share_file.py +0 -218
  363. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_share_server.py +0 -167
  364. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_share_terminal.py +0 -216
  365. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/devops_status.py +0 -127
  366. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/devops_status_checks.py +0 -223
  367. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/interactive.py +0 -247
  368. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +0 -49
  369. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/run_script.py +0 -238
  370. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_wezterm_theme.py +0 -112
  371. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/vault.py +0 -579
  372. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_env/env_manager_tui.py +0 -227
  373. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_env/path_manager_tui.py +0 -250
  374. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_fire_command/file_wrangler.py +0 -151
  375. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_args_helper.py +0 -144
  376. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_impl.py +0 -293
  377. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_route_helper.py +0 -103
  378. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network/address_switch.py +0 -138
  379. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network/ftpx_impl.py +0 -277
  380. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_ssh_key.py +0 -229
  381. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_deploy_key_remote.py +0 -311
  382. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network/wifi_conn.py +0 -175
  383. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_preview/preview_impl.py +0 -329
  384. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_preview/start_slidev.py +0 -125
  385. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +0 -459
  386. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_repos/sync.py +0 -93
  387. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_search/script_help.py +0 -70
  388. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/_herdr_backend.py +0 -446
  389. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend.py +0 -207
  390. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_options.py +0 -143
  391. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_preview.py +0 -204
  392. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend.py +0 -277
  393. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/attach_impl.py +0 -130
  394. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/kill_impl.py +0 -23
  395. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_tmux.py +0 -218
  396. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/sessions_impl.py +0 -225
  397. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/sessions_multiprocess.py +0 -61
  398. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_sessions/utils.py +0 -100
  399. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/file_utils_app.py +0 -290
  400. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/machine_utils_app.py +0 -139
  401. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/pyproject_utils_app.py +0 -419
  402. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/python.py +0 -325
  403. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/test_runtime.py +0 -180
  404. stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils/type_fix.py +0 -71
  405. stackops-26.6.1/src/stackops/scripts/python/preview.py +0 -104
  406. stackops-26.6.1/src/stackops/scripts/python/stackops_entry.py +0 -151
  407. stackops-26.6.1/src/stackops/scripts/python/terminal.py +0 -520
  408. stackops-26.6.1/src/stackops/scripts/setup/linux/interactive.sh +0 -31
  409. stackops-26.6.1/src/stackops/scripts/setup/windows/interactive.ps1 +0 -33
  410. stackops-26.6.1/src/stackops/scripts/windows/__init__.py +0 -1
  411. stackops-26.6.1/src/stackops/secrets.py +0 -165
  412. stackops-26.6.1/src/stackops/settings/yazi/scripts/serve_browser_file.py +0 -251
  413. stackops-26.6.1/src/stackops/utils/cli_utils/hierarchy.py +0 -1388
  414. stackops-26.6.1/src/stackops/utils/cli_utils/hierarchy_types.py +0 -1648
  415. stackops-26.6.1/src/stackops/utils/cloud_defaults.py +0 -31
  416. stackops-26.6.1/src/stackops/utils/code.py +0 -231
  417. stackops-26.6.1/src/stackops/utils/encryption.py +0 -14
  418. stackops-26.6.1/src/stackops/utils/files/headers.py +0 -69
  419. stackops-26.6.1/src/stackops/utils/files/read.py +0 -148
  420. stackops-26.6.1/src/stackops/utils/installer_utils/install_from_url.py +0 -259
  421. stackops-26.6.1/src/stackops/utils/installer_utils/install_request_logic.py +0 -86
  422. stackops-26.6.1/src/stackops/utils/installer_utils/installer_class.py +0 -392
  423. stackops-26.6.1/src/stackops/utils/installer_utils/installer_cli.py +0 -260
  424. stackops-26.6.1/src/stackops/utils/installer_utils/installer_explore.py +0 -252
  425. stackops-26.6.1/src/stackops/utils/installer_utils/installer_helper.py +0 -175
  426. stackops-26.6.1/src/stackops/utils/installer_utils/installer_offline_constants.py +0 -72
  427. stackops-26.6.1/src/stackops/utils/installer_utils/installer_offline_publish.py +0 -107
  428. stackops-26.6.1/src/stackops/utils/installer_utils/installer_runner.py +0 -198
  429. stackops-26.6.1/src/stackops/utils/io.py +0 -373
  430. stackops-26.6.1/src/stackops/utils/links.py +0 -364
  431. stackops-26.6.1/src/stackops/utils/meta.py +0 -258
  432. stackops-26.6.1/src/stackops/utils/notifications.py +0 -188
  433. stackops-26.6.1/src/stackops/utils/options.py +0 -324
  434. stackops-26.6.1/src/stackops/utils/options_utils/__init__.py +0 -0
  435. stackops-26.6.1/src/stackops/utils/options_utils/textual_options_form.py +0 -338
  436. stackops-26.6.1/src/stackops/utils/options_utils/textual_options_form_types.py +0 -109
  437. stackops-26.6.1/src/stackops/utils/path_helper.py +0 -192
  438. stackops-26.6.1/src/stackops/utils/procs.py +0 -274
  439. stackops-26.6.1/src/stackops/utils/rclone.py +0 -177
  440. stackops-26.6.1/src/stackops/utils/rclone_wrapper.py +0 -165
  441. stackops-26.6.1/src/stackops/utils/repo_stackops.py +0 -39
  442. stackops-26.6.1/src/stackops/utils/schemas/fire_agents/fire_agents_input.py +0 -63
  443. stackops-26.6.1/src/stackops/utils/schemas/installer/installer_data.json +0 -6001
  444. stackops-26.6.1/src/stackops/utils/schemas/layouts/layout_types.py +0 -70
  445. stackops-26.6.1/src/stackops/utils/schemas/secrets/secrets.example.json +0 -49
  446. stackops-26.6.1/src/stackops/utils/schemas/secrets/secrets.schema.json +0 -182
  447. stackops-26.6.1/src/stackops/utils/schemas/secrets/secrets_loader.py +0 -227
  448. stackops-26.6.1/src/stackops/utils/source_of_truth.py +0 -207
  449. stackops-26.6.1/src/stackops/utils/ssh.py +0 -468
  450. stackops-26.6.1/src/stackops/utils/ssh_utils/abc.py +0 -5
  451. stackops-26.6.1/src/stackops/utils/ssh_utils/copy_from_here.py +0 -158
  452. stackops-26.6.1/src/stackops/utils/ssh_utils/copy_to_here.py +0 -300
  453. stackops-26.6.1/src/stackops/utils/ssh_utils/utils.py +0 -133
  454. stackops-26.6.1/src/stackops.egg-info/PKG-INFO +0 -118
  455. stackops-26.6.1/src/stackops.egg-info/SOURCES.txt +0 -927
  456. {stackops-26.6.1 → stackops-26.6.3}/MANIFEST.in +0 -0
  457. {stackops-26.6.1 → stackops-26.6.3}/README.md +0 -0
  458. {stackops-26.6.1 → stackops-26.6.3}/setup.cfg +0 -0
  459. {stackops-26.6.1 → stackops-26.6.3}/src/manual/test_path_references.py +0 -0
  460. {stackops-26.6.1 → stackops-26.6.3}/src/manual/test_stackops_skill_refs.py +0 -0
  461. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/__init__.py +0 -0
  462. {stackops-26.6.1/src/stackops/cluster/sessions_managers/utils → stackops-26.6.3/src/stackops/architecture_graph}/__init__.py +0 -0
  463. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/__init__.py +0 -0
  464. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/remote/__init__.py +0 -0
  465. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/remote/execution_script.py +0 -0
  466. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/remote/file_manager.py +0 -0
  467. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/remote/job_params.py +0 -0
  468. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/remote/models.py +0 -0
  469. {stackops-26.6.1/src/stackops/utils → stackops-26.6.3/src/stackops/cluster}/scheduler.py +0 -0
  470. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/__init__.py +0 -0
  471. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/helpers/__init__.py +0 -0
  472. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/helpers/enhanced_command_runner.py +0 -0
  473. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/helpers/load_balancer_helper.py +0 -0
  474. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/session_conflict.py +0 -0
  475. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/session_exit_mode.py +0 -0
  476. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/__init__.py +0 -0
  477. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_local.py +0 -0
  478. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/__init__.py +0 -0
  479. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_common.py +0 -0
  480. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_execution.py +0 -0
  481. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_layout.py +0 -0
  482. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/tmux/tmux_utils/tmux_status.py +0 -0
  483. {stackops-26.6.1/src/stackops/scripts/python/ai/solutions/antigravity → stackops-26.6.3/src/stackops/cluster/sessions_managers/utils}/__init__.py +0 -0
  484. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/utils/load_balancer.py +0 -0
  485. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/utils/maker.py +0 -0
  486. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/__init__.py +0 -0
  487. {stackops-26.6.1/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples → stackops-26.6.3/src/stackops/cluster/sessions_managers/windows_terminal}/wt_local_manager_demo.py +0 -0
  488. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_remote.py +0 -0
  489. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/__init__.py +0 -0
  490. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/examples/__init__.py +0 -0
  491. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/layout_generator.py +0 -0
  492. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/local_monitoring.py +0 -0
  493. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/manager_persistence.py +0 -0
  494. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/monitoring_helpers.py +0 -0
  495. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/process_monitor.py +0 -0
  496. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/remote_executor.py +0 -0
  497. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/session_manager.py +0 -0
  498. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporter.py +0 -0
  499. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/status_reporting.py +0 -0
  500. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/windows_terminal/wt_utils/wt_helpers.py +0 -0
  501. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/__init__.py +0 -0
  502. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_local.py +0 -0
  503. {stackops-26.6.1/src/stackops/cluster/sessions_managers/zellij/zellij_utils → stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij}/zellij_local_manager_helper.py +0 -0
  504. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_remote.py +0 -0
  505. /stackops-26.6.1/src/stackops/cluster/sessions_managers/zellij/zellij_utils/example_usage.py → /stackops-26.6.3/src/stackops/cluster/sessions_managers/zellij/zellij_remote_example.py +0 -0
  506. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/__init__.py +0 -0
  507. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/layout_generator.py +0 -0
  508. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/monitoring_types.py +0 -0
  509. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/process_monitor.py +0 -0
  510. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/remote_executor.py +0 -0
  511. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/session_manager.py +0 -0
  512. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/status_reporter.py +0 -0
  513. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper.py +0 -0
  514. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_restart.py +0 -0
  515. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/cluster/sessions_managers/zellij/zellij_utils/zellij_local_helper_with_panes.py +0 -0
  516. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/__init__.py +0 -0
  517. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/agents/mcps/__init__.py +0 -0
  518. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/agents/mcps/mcp.json +0 -0
  519. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/agents/mcps/mcp.schema.json +0 -0
  520. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/__init__.py +0 -0
  521. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/checks/__init__.py +0 -0
  522. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/checks/check_installations.py +0 -0
  523. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/checks/report_utils.py +0 -0
  524. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/checks/security_cli.py +0 -0
  525. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/checks/security_helper.py +0 -0
  526. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/__init__.py +0 -0
  527. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/brave.sh +0 -0
  528. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/cloudflare_warp_cli.sh +0 -0
  529. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/edge.sh +0 -0
  530. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/network.sh +0 -0
  531. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/ngrok.sh +0 -0
  532. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/oz.sh +0 -0
  533. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/q.sh +0 -0
  534. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/redis.sh +0 -0
  535. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/sysabc_macos.sh +0 -0
  536. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/sysabc_ubuntu.sh +0 -0
  537. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/vscode.sh +0 -0
  538. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/linux_scripts/wezterm.sh +0 -0
  539. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/macos_scripts/__init__.py +0 -0
  540. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/powershell_scripts/__init__.py +0 -0
  541. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/powershell_scripts/nerdfonts.ps1 +0 -0
  542. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/powershell_scripts/sysabc.ps1 +0 -0
  543. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/powershell_scripts/texlive.ps1 +0 -0
  544. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/python_scripts/__init__.py +0 -0
  545. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/python_scripts/goes.py +0 -0
  546. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/installer/todo.md +0 -0
  547. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/bash_scripts/__init__.py +0 -0
  548. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/bash_scripts/hollywood.sh +0 -0
  549. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/bash_scripts/lid.sh +0 -0
  550. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/bash_scripts/weather +0 -0
  551. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/powershell_scripts/__init__.py +0 -0
  552. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/powershell_scripts/cmatrix.ps1 +0 -0
  553. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts/powershell_scripts/weather.ps1 +0 -0
  554. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts_dynamic/__init__.py +0 -0
  555. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.json +0 -0
  556. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts_dynamic/download_stackops_offline_installer.py +0 -0
  557. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/jobs/scripts_dynamic/system_compute_analyzer.py +0 -0
  558. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/logger.py +0 -0
  559. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/profile/__init__.py +0 -0
  560. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/profile/create_shell_profile.py +0 -0
  561. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/profile/dotfiles_mapper.py +0 -0
  562. {stackops-26.6.1/src/stackops/scripts/python/ai/solutions/forge → stackops-26.6.3/src/stackops/profile/linking}/__init__.py +0 -0
  563. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/__init__.py +0 -0
  564. {stackops-26.6.1/src/stackops/scripts/python/ai/solutions/oz → stackops-26.6.3/src/stackops/scripts/linux}/__init__.py +0 -0
  565. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/linux/wrap_stackops +0 -0
  566. {stackops-26.6.1/src/stackops/scripts/python/ai/solutions/pi → stackops-26.6.3/src/stackops/scripts/nu}/__init__.py +0 -0
  567. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/nu/wrap_stackops.nu +0 -0
  568. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/__init__.py +0 -0
  569. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/__init__.py +0 -0
  570. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/__init__.py +0 -0
  571. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/command_runner.ps1 +0 -0
  572. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/command_runner.sh +0 -0
  573. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/dashboard.py +0 -0
  574. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/lint_and_type_check.py +0 -0
  575. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/models_diagnostics.py +0 -0
  576. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/models_json.py +0 -0
  577. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/scripts/paths.py +0 -0
  578. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/__init__.py +0 -0
  579. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive → stackops-26.6.3/src/stackops/scripts/python/ai/solutions/antigravity}/__init__.py +0 -0
  580. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/antigravity/antigravity.py +0 -0
  581. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/auggie/__init__.py +0 -0
  582. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/auggie/auggie.py +0 -0
  583. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/claude/claude.py +0 -0
  584. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/cline/cline.py +0 -0
  585. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/codex/__init__.py +0 -0
  586. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/codex/codex.py +0 -0
  587. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/codex/config.toml +0 -0
  588. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/__init__.py +0 -0
  589. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/agents/Thinking-Beast-Mode.agent.md +0 -0
  590. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md +0 -0
  591. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/agents/__init__.py +0 -0
  592. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/agents/deepResearch.agent.md +0 -0
  593. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/github_copilot.py +0 -0
  594. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/__init__.py +0 -0
  595. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/instructions/archive/watch_exec.prompt.md +0 -0
  596. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/__init__.py +0 -0
  597. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +0 -0
  598. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/prompts/__init__.py +0 -0
  599. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +0 -0
  600. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/copilot/prompts/research-report-skeleton.prompt.md +0 -0
  601. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/crush/__init__.py +0 -0
  602. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/crush/crush.json +0 -0
  603. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/crush/crush.py +0 -0
  604. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/crush/privacy.md +0 -0
  605. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/cursor/cursors.py +0 -0
  606. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/droid/__init__.py +0 -0
  607. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/droid/droid.py +0 -0
  608. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie → stackops-26.6.3/src/stackops/scripts/python/ai/solutions/forge}/__init__.py +0 -0
  609. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/forge/forge.py +0 -0
  610. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/kilocode/__init__.py +0 -0
  611. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/kilocode/kilocode.py +0 -0
  612. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/kilocode/privacy.md +0 -0
  613. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/opencode/__init__.py +0 -0
  614. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/opencode/opencode.jsonc +0 -0
  615. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/opencode/opencode.py +0 -0
  616. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt → stackops-26.6.3/src/stackops/scripts/python/ai/solutions/oz}/__init__.py +0 -0
  617. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/oz/oz.py +0 -0
  618. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline → stackops-26.6.3/src/stackops/scripts/python/ai/solutions/pi}/__init__.py +0 -0
  619. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/pi/pi.py +0 -0
  620. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/q/__init__.py +0 -0
  621. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/q/amazon_q.py +0 -0
  622. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/qwen_code/__init__.py +0 -0
  623. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/qwen_code/qwen_code.py +0 -0
  624. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/warp/__init__.py +0 -0
  625. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/solutions/warp/warp.py +0 -0
  626. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/utils/__init__.py +0 -0
  627. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/utils/generate_files.py +0 -0
  628. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/utils/generic.py +0 -0
  629. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ai/utils/vscode_tasks.py +0 -0
  630. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/enums.py +0 -0
  631. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/ftpx.py +0 -0
  632. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/__init__.py +0 -0
  633. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_apps.py +0 -0
  634. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_eval.py +0 -0
  635. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_node_utils.py +0 -0
  636. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_nodes.py +0 -0
  637. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_registration.py +0 -0
  638. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_resolver.py +0 -0
  639. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_shared.py +0 -0
  640. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_signature.py +0 -0
  641. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_targets.py +0 -0
  642. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_tree.py +0 -0
  643. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/cli_graph_values.py +0 -0
  644. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/generate_cli_graph.py +0 -0
  645. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/__init__.py +0 -0
  646. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/cli_graph_app.py +0 -0
  647. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/cli_graph_search.py +0 -0
  648. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/cli_graph_typer_app.py +0 -0
  649. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/dot_export.py +0 -0
  650. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/graph_data.py +0 -0
  651. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/graph_paths.py +0 -0
  652. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/__init__.py +0 -0
  653. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/cli_graph_loader.py +0 -0
  654. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_builder.py +0 -0
  655. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_detail.py +0 -0
  656. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/command_tree.py +0 -0
  657. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/data_models.py +0 -0
  658. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/main_app.py +0 -0
  659. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/helpers_navigator/search_bar.py +0 -0
  660. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/plotly_browser.py +0 -0
  661. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/plotly_views.py +0 -0
  662. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/graph/visualize/rich_tree.py +0 -0
  663. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/__init__.py +0 -0
  664. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/__init__.py +0 -0
  665. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/agent_impl_interactive}/__init__.py +0 -0
  666. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/__init__.py +0 -0
  667. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/agentic_frameworks/fire_crush.json +0 -0
  668. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/agents_browser_resolution.py +0 -0
  669. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/agents_parallel_add_entry.py +0 -0
  670. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/agents_shell.py +0 -0
  671. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/agent-browser.md +0 -0
  672. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp-browser-url.mcp.json +0 -0
  673. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.mcp.json +0 -0
  674. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/chrome-devtools-mcp.md +0 -0
  675. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-cdp.mcp.json +0 -0
  676. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-extension.mcp.json +0 -0
  677. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-storage-state.mcp.json +0 -0
  678. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp-user-data-dir.mcp.json +0 -0
  679. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.mcp.json +0 -0
  680. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/browser_guides/playwright-mcp.md +0 -0
  681. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_help_search.py +0 -0
  682. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/fire_agents_load_balancer.py +0 -0
  683. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/__init__.py +0 -0
  684. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aichat/config.yaml +0 -0
  685. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/aider/.aider.conf.yml +0 -0
  686. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie}/__init__.py +0 -0
  687. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/auggie/auggie_privacy.py +0 -0
  688. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt}/__init__.py +0 -0
  689. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/chatgpt/chatgpt_privacy.py +0 -0
  690. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline}/__init__.py +0 -0
  691. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cline/cline_privacy.py +0 -0
  692. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex}/__init__.py +0 -0
  693. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/codex/codex_privacy.py +0 -0
  694. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/__init__.py +0 -0
  695. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/common/privacy_orchestrator.py +0 -0
  696. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/__init__.py +0 -0
  697. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/copilot/config.yml +0 -0
  698. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/__init__.py +0 -0
  699. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/crush/crush.json +0 -0
  700. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor}/__init__.py +0 -0
  701. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/cursor/cursor_privacy.py +0 -0
  702. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid}/__init__.py +0 -0
  703. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/droid/droid_privacy.py +0 -0
  704. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode}/__init__.py +0 -0
  705. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/kilocode/kilocode_privacy.py +0 -0
  706. {stackops-26.6.1/src/stackops/settings/ollama → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods}/__init__.py +0 -0
  707. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/mods/mods_privacy.py +0 -0
  708. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/opencode/__init__.py +0 -0
  709. {stackops-26.6.1/src/stackops/settings/psmux → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q}/__init__.py +0 -0
  710. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/q/q_privacy.py +0 -0
  711. {stackops-26.6.1/src/stackops/utils/schemas → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen}/__init__.py +0 -0
  712. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/configs/qwen/qwen_privacy.py +0 -0
  713. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/privacy/privacy.py +0 -0
  714. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/templates/__init__.py +0 -0
  715. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/templates/prompt.txt +0 -0
  716. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.ps1 +0 -0
  717. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_agents/templates/template.sh +0 -0
  718. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_cloud/__init__.py +0 -0
  719. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_helpers.py +0 -0
  720. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_tmux.py +0 -0
  721. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_cloud/cloud_mount_zellij.py +0 -0
  722. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/__init__.py +0 -0
  723. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_mount.py +0 -0
  724. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_secrets_interactive.py +0 -0
  725. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_terminal.py +0 -0
  726. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_config_tmux.py +0 -0
  727. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/app.py +0 -0
  728. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_ai/workflows_yaml.py +0 -0
  729. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_self_assets.py +0 -0
  730. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_share_temp.py +0 -0
  731. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_ssh.py +0 -0
  732. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/cli_vault.py +0 -0
  733. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/devops_status_display.py +0 -0
  734. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/devops_update_repos.py +0 -0
  735. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/__init__.py +0 -0
  736. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +0 -0
  737. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +0 -0
  738. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +0 -0
  739. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +0 -0
  740. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +0 -0
  741. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +0 -0
  742. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +0 -0
  743. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/register_interactive.py +0 -0
  744. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/stackops_skill_refs.py +0 -0
  745. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/themes/__init__.py +0 -0
  746. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_pwsh_theme.ps1 +0 -0
  747. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.ps1 +0 -0
  748. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_starship_theme.sh +0 -0
  749. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_devops/themes/choose_windows_terminal_theme.ps1 +0 -0
  750. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_env/__init__.py +0 -0
  751. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_env/path_manager_backend.py +0 -0
  752. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_fire_command/__init__.py +0 -0
  753. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_fire_command/cloud_manager.py +0 -0
  754. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_fire_command/f.py +0 -0
  755. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_fire_command/fire_jobs_streamlit_helper.py +0 -0
  756. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/__init__.py +0 -0
  757. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/onetimeshare.py +0 -0
  758. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
  759. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +0 -0
  760. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +0 -0
  761. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin.py +0 -0
  762. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_darwin_utils.py +0 -0
  763. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux.py +0 -0
  764. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +0 -0
  765. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows.py +0 -0
  766. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +0 -0
  767. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/common.py +0 -0
  768. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/darwin.py +0 -0
  769. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/linux.py +0 -0
  770. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/unsupported.py +0 -0
  771. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_network/wifi_conn_platforms/windows.py +0 -0
  772. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/__init__.py +0 -0
  773. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/pomodoro.py +0 -0
  774. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/preview_read.py +0 -0
  775. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/scheduler.py +0 -0
  776. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/viewer.py +0 -0
  777. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_preview/viewer_template.py +0 -0
  778. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/action.py +0 -0
  779. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/action_helper.py +0 -0
  780. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/clone.py +0 -0
  781. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/cloud_repo_sync_conflicts.py +0 -0
  782. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/grource.py +0 -0
  783. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/record.py +0 -0
  784. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_1.py +0 -0
  785. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/repo_analyzer_2.py +0 -0
  786. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/spec_store.py +0 -0
  787. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_repos/update.py +0 -0
  788. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_search/ast_search.py +0 -0
  789. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_search/qr_code.py +0 -0
  790. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_search/repo_rag.py +0 -0
  791. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_search/semantic_search.py +0 -0
  792. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/__init__.py +0 -0
  793. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/__init__.py +0 -0
  794. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/fzfg +0 -0
  795. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_linux/search_with_context.sh +0 -0
  796. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/__init__.py +0 -0
  797. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_macos/fzfg +0 -0
  798. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/__init__.py +0 -0
  799. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/scripts_windows/fzfg.ps1 +0 -0
  800. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_seek/seek_impl.py +0 -0
  801. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/__init__.py +0 -0
  802. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_tmux_backend_processes.py +0 -0
  803. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_focus.py +0 -0
  804. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_layout.py +0 -0
  805. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_metadata.py +0 -0
  806. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_options.py +0 -0
  807. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/_zellij_backend_preview.py +0 -0
  808. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/session_trace_zellij.py +0 -0
  809. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_aoe_impl.py +0 -0
  810. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_common.py +0 -0
  811. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run.py +0 -0
  812. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_all.py +0 -0
  813. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_cli_run_aoe.py +0 -0
  814. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic.py +0 -0
  815. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_display.py +0 -0
  816. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_tmux.py +0 -0
  817. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_dynamic_zellij.py +0 -0
  818. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_layout_source.py +0 -0
  819. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_test_layouts.py +0 -0
  820. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_sessions/sessions_trace.py +0 -0
  821. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/path_reference_validation.py +0 -0
  822. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/pdf.py +0 -0
  823. {stackops-26.6.1/src/stackops/utils → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils}/python_env.py +0 -0
  824. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui.py +0 -0
  825. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/read_db_cli_tui_backend.py +0 -0
  826. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/scrape.py +0 -0
  827. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/specs.py +0 -0
  828. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/helpers/helpers_utils/surya.py +0 -0
  829. {stackops-26.6.1/src/stackops/utils → stackops-26.6.3/src/stackops/scripts/python/helpers/helpers_utils}/upgrade_packages.py +0 -0
  830. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/seek.py +0 -0
  831. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/python/utils.py +0 -0
  832. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/linux/__init__.py +0 -0
  833. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/linux/apps_desktop.sh +0 -0
  834. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/linux/live_from_github.sh +0 -0
  835. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/linux/uv.sh +0 -0
  836. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/macos/__init__.py +0 -0
  837. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/macos/uv.sh +0 -0
  838. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/windows/__init__.py +0 -0
  839. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/windows/live_from_github.ps1 +0 -0
  840. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/windows/quick_init.ps1 +0 -0
  841. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/setup/windows/uv.ps1 +0 -0
  842. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/scripts/windows/wrap_stackops.ps1 +0 -0
  843. /stackops-26.6.1/src/stackops/utils/schemas/secrets/__init__.py → /stackops-26.6.3/src/stackops/secrets/assets.py +0 -0
  844. /stackops-26.6.1/src/stackops/utils/schemas/secrets/secrets_types.py → /stackops-26.6.3/src/stackops/secrets/models.py +0 -0
  845. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/__init__.py +0 -0
  846. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/atuin/__init__.py +0 -0
  847. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/atuin/config.toml +0 -0
  848. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/atuin/themes/__init__.py +0 -0
  849. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/atuin/themes/catppuccin-mocha-mauve.toml +0 -0
  850. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/broot/__init__.py +0 -0
  851. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/broot/br.sh +0 -0
  852. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/broot/brootcd.ps1 +0 -0
  853. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/broot/conf.toml +0 -0
  854. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/glow/__init__.py +0 -0
  855. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/glow/glow.yml +0 -0
  856. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/gromit-mpx/__init__.py +0 -0
  857. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/gromit-mpx/gromit-mpx.cfg +0 -0
  858. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/helix/__init__.py +0 -0
  859. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/helix/config.toml +0 -0
  860. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/helix/languages.toml +0 -0
  861. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/helix/yazi-picker.sh +0 -0
  862. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keras/__init__.py +0 -0
  863. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keras/keras.json +0 -0
  864. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/espanso/config/__init__.py +0 -0
  865. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/espanso/config/default.yml +0 -0
  866. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/espanso/match/__init__.py +0 -0
  867. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/espanso/match/base.yml +0 -0
  868. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/kanata/__init__.py +0 -0
  869. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/keyboard/kanata/kanata.kbd +0 -0
  870. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/__init__.py +0 -0
  871. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/__init__.py +0 -0
  872. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/delete.sh +0 -0
  873. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/on-cd.sh +0 -0
  874. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/on-quit.sh +0 -0
  875. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/open.sh +0 -0
  876. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/paste.sh +0 -0
  877. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/pre-cd.sh +0 -0
  878. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/autocall/rename.sh +0 -0
  879. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/colors +0 -0
  880. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/__init__.py +0 -0
  881. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/cleaner.sh +0 -0
  882. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/leftpane_previewer.sh +0 -0
  883. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/lfcd.sh +0 -0
  884. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/previewer.sh +0 -0
  885. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/exe/previewer_archive.sh +0 -0
  886. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/icons +0 -0
  887. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/linux/lfrc +0 -0
  888. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/__init__.py +0 -0
  889. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/__init__.py +0 -0
  890. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/delete.ps1 +0 -0
  891. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/on-cd.ps1 +0 -0
  892. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/on-quit.ps1 +0 -0
  893. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/open.ps1 +0 -0
  894. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/paste.ps1 +0 -0
  895. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/pre-cd.ps1 +0 -0
  896. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/autocall/rename.ps1 +0 -0
  897. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/cd_tere.ps1 +0 -0
  898. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/cd_zoxide.ps1 +0 -0
  899. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/cd_zoxide2.ps1 +0 -0
  900. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/colors +0 -0
  901. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/icons +0 -0
  902. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/leftpane_previewer.ps1 +0 -0
  903. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/lfcd.ps1 +0 -0
  904. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/lfrc +0 -0
  905. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/mkdir.ps1 +0 -0
  906. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/mkfile.ps1 +0 -0
  907. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lf/windows/previewer.ps1 +0 -0
  908. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/.flake8 +0 -0
  909. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/.mypy.ini +0 -0
  910. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/.pylintrc +0 -0
  911. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/.ruff.toml +0 -0
  912. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/__init__.py +0 -0
  913. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/pyrefly.toml +0 -0
  914. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/linters/ty.toml +0 -0
  915. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/linux/__init__.py +0 -0
  916. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/linux/config.lua +0 -0
  917. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/__init__.py +0 -0
  918. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/archive/__init__.py +0 -0
  919. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/archive/config_additional.lua +0 -0
  920. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/config.lua +0 -0
  921. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/lua/user/__init__.py +0 -0
  922. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/lvim/windows/lua/user/custom_config.lua +0 -0
  923. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/marimo/__init__.py +0 -0
  924. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/marimo/marimo.toml +0 -0
  925. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/marimo/snippets/globalize.py +0 -0
  926. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/mprocs/windows/__init__.py +0 -0
  927. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/mprocs/windows/mprocs.yaml +0 -0
  928. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/mprocs/windows/other +0 -0
  929. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/ollama/server.json +0 -0
  930. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/pistol/__init__.py +0 -0
  931. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/pistol/pistol.conf +0 -0
  932. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/presenterm/__init__.py +0 -0
  933. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/presenterm/config.yaml +0 -0
  934. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/procs/.procs.toml +0 -0
  935. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/description.md +0 -0
  936. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/install-ppm.ps1 +0 -0
  937. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.bindings.conf +0 -0
  938. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.conf +0 -0
  939. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.local.conf +0 -0
  940. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.plugins.conf +0 -0
  941. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.powerline.conf +0 -0
  942. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/psmux/psmux.theme.conf +0 -0
  943. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/pudb/__init__.py +0 -0
  944. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/pudb/pudb.cfg +0 -0
  945. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/rofi/__init__.py +0 -0
  946. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/rofi/config.rasi +0 -0
  947. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/rofi/config_default.rasi +0 -0
  948. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/alacritty/__init__.py +0 -0
  949. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/alacritty/alacritty.toml +0 -0
  950. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/alacritty/alacritty.yml +0 -0
  951. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/bash/__init__.py +0 -0
  952. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/bash/init.sh +0 -0
  953. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/ghostty/__init__.py +0 -0
  954. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/ghostty/config +0 -0
  955. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/hyper/.hyper.js +0 -0
  956. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/ipy/profiles/default/__init__.py +0 -0
  957. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/ipy/profiles/default/startup/__init__.py +0 -0
  958. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/ipy/profiles/default/startup/playext.py +0 -0
  959. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/kitty/__init__.py +0 -0
  960. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/kitty/kitty.conf +0 -0
  961. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/nushell/__init__.py +0 -0
  962. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/nushell/config.nu +0 -0
  963. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/nushell/env.nu +0 -0
  964. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/nushell/init.nu +0 -0
  965. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/pwsh/__init__.py +0 -0
  966. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/pwsh/init.ps1 +0 -0
  967. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/pwsh/search_pwsh_history.ps1 +0 -0
  968. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/starship/__init__.py +0 -0
  969. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/starship/starship.toml +0 -0
  970. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/vtm/__init__.py +0 -0
  971. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/vtm/settings.xml +0 -0
  972. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/wezterm/__init__.py +0 -0
  973. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/wezterm/wezterm.lua +0 -0
  974. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/wt/__init__.py +0 -0
  975. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/wt/settings.json +0 -0
  976. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/zsh/__init__.py +0 -0
  977. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/shells/zsh/init.sh +0 -0
  978. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/streamlit/__init__.py +0 -0
  979. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/streamlit/config.toml +0 -0
  980. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/svim/linux/__init__.py +0 -0
  981. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/svim/linux/init.toml +0 -0
  982. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/svim/windows/__init__.py +0 -0
  983. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/svim/windows/init.toml +0 -0
  984. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/__init__.py +0 -0
  985. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/alias.toml +0 -0
  986. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/apt-packages.toml +0 -0
  987. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/aws-buckets.toml +0 -0
  988. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/aws-instances.toml +0 -0
  989. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/bash-history.toml +0 -0
  990. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/brew-packages.toml +0 -0
  991. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/channels.toml +0 -0
  992. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/dirs.toml +0 -0
  993. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/diskutil.toml +0 -0
  994. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/distrobox-list.toml +0 -0
  995. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/docker-images.toml +0 -0
  996. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/dotfiles.toml +0 -0
  997. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/downloads.toml +0 -0
  998. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/env.toml +0 -0
  999. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/figlet-fonts.toml +0 -0
  1000. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/files.toml +0 -0
  1001. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/fish-history.toml +0 -0
  1002. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/fonts.toml +0 -0
  1003. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-branch.toml +0 -0
  1004. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-diff.toml +0 -0
  1005. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-files.toml +0 -0
  1006. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-log.toml +0 -0
  1007. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-reflog.toml +0 -0
  1008. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-repos.toml +0 -0
  1009. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-tags.toml +0 -0
  1010. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/git-worktrees.toml +0 -0
  1011. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/guix.toml +0 -0
  1012. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/images.toml +0 -0
  1013. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/just-recipes.toml +0 -0
  1014. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/k8s-deployments.toml +0 -0
  1015. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/k8s-pods.toml +0 -0
  1016. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/k8s-services.toml +0 -0
  1017. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/linux-disks.toml +0 -0
  1018. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/man-pages.toml +0 -0
  1019. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/mounts.toml +0 -0
  1020. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/npm-packages.toml +0 -0
  1021. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/nu-history.toml +0 -0
  1022. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/path.toml +0 -0
  1023. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/ports.toml +0 -0
  1024. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/procs.toml +0 -0
  1025. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/python-venvs.toml +0 -0
  1026. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/recent-files.toml +0 -0
  1027. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/sesh.toml +0 -0
  1028. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/text.toml +0 -0
  1029. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/tldr.toml +0 -0
  1030. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/tmux-sessions.toml +0 -0
  1031. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/tmux-windows.toml +0 -0
  1032. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/todo-comments.toml +0 -0
  1033. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/trash.toml +0 -0
  1034. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/unicode.toml +0 -0
  1035. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/wifi.toml +0 -0
  1036. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/zoxide.toml +0 -0
  1037. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_unix/zsh-history.toml +0 -0
  1038. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/__init__.py +0 -0
  1039. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/alias.toml +0 -0
  1040. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/dirs.toml +0 -0
  1041. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/docker-images.toml +0 -0
  1042. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/dotfiles.toml +0 -0
  1043. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/env.toml +0 -0
  1044. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/files.toml +0 -0
  1045. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/git-branch.toml +0 -0
  1046. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/git-diff.toml +0 -0
  1047. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/git-log.toml +0 -0
  1048. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/git-reflog.toml +0 -0
  1049. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/git-repos.toml +0 -0
  1050. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/nu-history.toml +0 -0
  1051. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/pwsh-history.toml +0 -0
  1052. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/television/cable_windows/text.toml +0 -0
  1053. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tere/__init__.py +0 -0
  1054. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tere/terecd.ps1 +0 -0
  1055. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tere/terecd.sh +0 -0
  1056. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tmux/__init__.py +0 -0
  1057. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tmux/tmux.conf.local +0 -0
  1058. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tv/__init__.py +0 -0
  1059. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tv/config.toml +0 -0
  1060. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tv/themes/__init__.py +0 -0
  1061. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/tv/themes/catppuccin-mocha-sky.toml +0 -0
  1062. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/wsl/.wslconfig +0 -0
  1063. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/wt/__init__.py +0 -0
  1064. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/wt/set_wt_settings.py +0 -0
  1065. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/__init__.py +0 -0
  1066. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/init.lua +0 -0
  1067. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/keymap_darwin.toml +0 -0
  1068. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/keymap_linux.toml +0 -0
  1069. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/keymap_windows.toml +0 -0
  1070. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/__init__.py +0 -0
  1071. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/compress_selected.py +0 -0
  1072. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/copy_file_content.py +0 -0
  1073. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/fullscreen_preview.py +0 -0
  1074. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/interactive_view.py +0 -0
  1075. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/open_db_readonly.py +0 -0
  1076. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/scripts/open_default_app.py +0 -0
  1077. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/shell/__init__.py +0 -0
  1078. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/shell/yazi_cd.ps1 +0 -0
  1079. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/shell/yazi_cd.sh +0 -0
  1080. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/theme.toml +0 -0
  1081. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/yazi_darwin.toml +0 -0
  1082. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/yazi_linux.toml +0 -0
  1083. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/yazi/yazi_windows.toml +0 -0
  1084. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zed/__init__.py +0 -0
  1085. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zed/settings.json +0 -0
  1086. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/__init__.py +0 -0
  1087. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/commands/__init__.py +0 -0
  1088. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/commands/monitor +0 -0
  1089. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/commands/standard_panes +0 -0
  1090. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/config.kdl +0 -0
  1091. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/__init__.py +0 -0
  1092. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/hist +0 -0
  1093. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/panes.kdl +0 -0
  1094. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/st.kdl +0 -0
  1095. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/st2.kdl +0 -0
  1096. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/settings/zellij/layouts/stacked_panes.kdl +0 -0
  1097. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/__init__.py +0 -0
  1098. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/accessories.py +0 -0
  1099. {stackops-26.6.1/src/stackops/utils/ai → stackops-26.6.3/src/stackops/utils/cli_utils}/__init__.py +0 -0
  1100. {stackops-26.6.1/src/stackops/utils → stackops-26.6.3/src/stackops/utils/cli_utils}/terminal.py +0 -0
  1101. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/__init__.py +0 -0
  1102. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/onedrive/README.md +0 -0
  1103. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/onedrive/__init__.py +0 -0
  1104. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/onedrive/auth.py +0 -0
  1105. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/onedrive/file_ops.py +0 -0
  1106. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/cloud/onedrive/setup_oauth.py +0 -0
  1107. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/__init__.py +0 -0
  1108. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/art/__init__.py +0 -0
  1109. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/art/fat_croco.txt +0 -0
  1110. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/art/halfwit_croco.txt +0 -0
  1111. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/art/happy_croco.txt +0 -0
  1112. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/art/water_croco.txt +0 -0
  1113. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/ascii_art.py +0 -0
  1114. /stackops-26.6.1/src/stackops/utils/path_compression.py → /stackops-26.6.3/src/stackops/utils/files/compression.py +0 -0
  1115. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/dbms.py +0 -0
  1116. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_utils → stackops-26.6.3/src/stackops/utils/files}/download.py +0 -0
  1117. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/f.py +0 -0
  1118. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/notebook.py +0 -0
  1119. {stackops-26.6.1/src/stackops/utils/cli_utils → stackops-26.6.3/src/stackops/utils/files/ouch}/__init__.py +0 -0
  1120. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/files/ouch/decompress.py +0 -0
  1121. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/__init__.py +0 -0
  1122. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/github_release_bulk.py +0 -0
  1123. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/github_release_scraper.py +0 -0
  1124. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_locator_utils.py +0 -0
  1125. /stackops-26.6.1/src/stackops/jobs/installer/python_scripts/main_protocol.py → /stackops-26.6.3/src/stackops/utils/installer_utils/installer_main_protocol.py +0 -0
  1126. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline.py +0 -0
  1127. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline_models.py +0 -0
  1128. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline_render.py +0 -0
  1129. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline_scripts.py +0 -0
  1130. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline_steps.py +0 -0
  1131. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_offline_uv.py +0 -0
  1132. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/installer_utils/installer_summary.py +0 -0
  1133. {stackops-26.6.1/src/stackops/scripts/python/helpers/helpers_network → stackops-26.6.3/src/stackops/utils/network}/address.py +0 -0
  1134. {stackops-26.6.1/src/stackops/utils/files/ouch → stackops-26.6.3/src/stackops/utils/options_utils}/__init__.py +0 -0
  1135. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/options_utils/options_tv_linux.py +0 -0
  1136. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/options_utils/options_tv_windows.py +0 -0
  1137. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/options_utils/tv_options.py +0 -0
  1138. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/path_core.py +0 -0
  1139. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/path_reference.py +0 -0
  1140. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/agents/__init__.py +0 -0
  1141. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/agents/parallel.schema.json +0 -0
  1142. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/agents/prompts.schema.json +0 -0
  1143. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/config/__init__.py +0 -0
  1144. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/config/config.json +0 -0
  1145. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/config/config.schema.json +0 -0
  1146. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/config/config_types.py +0 -0
  1147. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/fire_agents/__init__.py +0 -0
  1148. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/installer/__init__.py +0 -0
  1149. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/installer/installer_type.schema.json +0 -0
  1150. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/installer/installer_types.py +0 -0
  1151. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/layouts/__init__.py +0 -0
  1152. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/layouts/layout.json +0 -0
  1153. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/layouts/layout.schema.json +0 -0
  1154. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/mapper/__init__.py +0 -0
  1155. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/mapper/data.schema.json +0 -0
  1156. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/mapper/data.yaml +0 -0
  1157. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/mapper/dotfiles.schema.json +0 -0
  1158. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/mapper/dotfiles.yaml +0 -0
  1159. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/repos/__init__.py +0 -0
  1160. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/repos/repos_schema.json +0 -0
  1161. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/schemas/repos/repos_types.py +0 -0
  1162. {stackops-26.6.1/src/stackops/utils → stackops-26.6.3/src/stackops/utils/schemas}/yaml_schema.py +0 -0
  1163. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/ssh_utils/__init__.py +0 -0
  1164. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/ssh_utils/wsl.py +0 -0
  1165. {stackops-26.6.1 → stackops-26.6.3}/src/stackops/utils/ssh_utils/wsl_helper.py +0 -0
  1166. {stackops-26.6.1 → stackops-26.6.3}/src/stackops.egg-info/dependency_links.txt +0 -0
  1167. {stackops-26.6.1 → stackops-26.6.3}/src/stackops.egg-info/entry_points.txt +0 -0
  1168. {stackops-26.6.1 → stackops-26.6.3}/src/stackops.egg-info/requires.txt +0 -0
  1169. {stackops-26.6.1 → stackops-26.6.3}/src/stackops.egg-info/top_level.txt +0 -0
@@ -0,0 +1,118 @@
1
+ Metadata-Version: 2.4
2
+ Name: stackops
3
+ Version: 26.6.3
4
+ Summary: Developer Stack Manager
5
+ Author-email: Alex Al-Saffar <programmer@usa.com>
6
+ License: Apache 2.0
7
+ Project-URL: Homepage, https://github.com/thisismygitrepo/stackops
8
+ Project-URL: Bug Tracker, https://github.com/thisismygitrepo/stackops/issues
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.13
13
+ Description-Content-Type: text/markdown
14
+ Requires-Dist: fire>=0.7.1
15
+ Requires-Dist: gitpython>=3.1.46
16
+ Requires-Dist: joblib>=1.5.3
17
+ Requires-Dist: paramiko>=4.0.0
18
+ Requires-Dist: psutil>=7.2.2
19
+ Requires-Dist: pyyaml>=6.0.3
20
+ Requires-Dist: questionary>=2.1.1
21
+ Requires-Dist: randomname>=0.2.1
22
+ Requires-Dist: requests>=2.32.5
23
+ Requires-Dist: rich>=14.3.3
24
+ Requires-Dist: tenacity>=9.1.4
25
+ Requires-Dist: typer>=0.24.1
26
+ Provides-Extra: windows
27
+ Provides-Extra: plot
28
+
29
+ <div align="center">
30
+
31
+ <h1>🗜 StackOps</h1>
32
+
33
+ <strong>Digital Life Manager.</strong>
34
+
35
+ <p>
36
+ <a href="https://thisismygitrepo.github.io/stackops/"><img alt="Docs" src="https://img.shields.io/badge/docs-online-2f6f6f"></a>
37
+ <a href="https://pypi.org/project/stackops/"><img alt="PyPI package" src="https://img.shields.io/pypi/v/stackops?color=2f6f6f"></a>
38
+ <img alt="Python 3.13+" src="https://img.shields.io/badge/python-3.13%2B-3776AB">
39
+ <img alt="Installed with uv" src="https://img.shields.io/badge/install-uv-f05d23">
40
+ </p>
41
+
42
+ </div>
43
+
44
+ StackOps is a cross-platform CLI for managing your development stack. It is package installer, configurator, dotfile/secrets manager, data and code sync solution, command launcher, processes orchestator (is there anything else?) all wrapped into one solution. As such, it should take a few minutes to make a fresh new machine to look like the machine you were customizing for 10 years.
45
+
46
+
47
+ | Before | After |
48
+ | --- | --- |
49
+ | ![Fresh minimal machine state](docs/assets/before.png) | ![Developer-ready machine state](docs/assets/after.png) |
50
+
51
+
52
+ See the [online docs](https://thisismygitrepo.github.io/stackops/) for full usage and reference material.
53
+
54
+ ## Install
55
+
56
+ Choose your platform and expand only the commands you need.
57
+
58
+ <details>
59
+ <summary><strong>Linux</strong></summary>
60
+
61
+ ```bash
62
+ curl -LsSf https://astral.sh/uv/install.sh | sh
63
+ uv tool install --upgrade --python 3.14 stackops
64
+ stackops --help
65
+ # OR: . < (curl -L https://bit.ly/sopsu)
66
+ ```
67
+
68
+ </details>
69
+
70
+ <details>
71
+ <summary><strong>macOS</strong></summary>
72
+
73
+ ```bash
74
+ curl -LsSf https://astral.sh/uv/install.sh | sh
75
+ uv tool install --upgrade --python 3.14 stackops
76
+ stackops --help
77
+ # OR: . < (curl -L https://bit.ly/sopsu)
78
+ ```
79
+
80
+ </details>
81
+
82
+ <details>
83
+ <summary><strong>Windows PowerShell</strong></summary>
84
+
85
+ ```powershell
86
+ powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
87
+ uv tool install --upgrade --python 3.14 stackops
88
+ stackops --help
89
+ # OR: irm bit.ly/sopsw | iex
90
+ ```
91
+
92
+ </details>
93
+
94
+
95
+ ## Quick Init
96
+
97
+ Run these once StackOps is installed.
98
+
99
+ ```bash
100
+ devops install --group sysabc
101
+ devops config copy-assets all
102
+ devops config sync down \
103
+ --sensitivity public \
104
+ --method copy \
105
+ --on-conflict overwrite-default-path \
106
+ --which all
107
+ devops config terminal config-shell --which default
108
+ devops install --group termabc
109
+ ```
110
+
111
+
112
+ ## Author
113
+
114
+ Alex Al-Saffar. [email](mailto:programmer@usa.com)
115
+
116
+ ## Contributor
117
+
118
+ Ruby Chan. [email](mailto:ruby.chan@sa.gov.au)
@@ -0,0 +1,163 @@
1
+ [build-system]
2
+ requires = ["setuptools>=80", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+ # requires = ["hatchling"]
5
+ # build-backend = "hatchling.build"
6
+
7
+ [project]
8
+ name = "stackops"
9
+ version = "26.6.3"
10
+ description = "Developer Stack Manager"
11
+ readme = "README.md"
12
+ license = {text = "Apache 2.0"}
13
+ authors = [
14
+ {name = "Alex Al-Saffar", email = "programmer@usa.com"},
15
+ ]
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "License :: OSI Approved :: Apache Software License",
19
+ "Operating System :: OS Independent",
20
+ ]
21
+ requires-python = ">=3.13"
22
+ dependencies = [
23
+ "fire>=0.7.1",
24
+ "gitpython>=3.1.46",
25
+ "joblib>=1.5.3",
26
+ "paramiko>=4.0.0",
27
+ "psutil>=7.2.2",
28
+ "pyyaml>=6.0.3",
29
+ "questionary>=2.1.1",
30
+ "randomname>=0.2.1",
31
+ "requests>=2.32.5",
32
+ "rich>=14.3.3",
33
+ "tenacity>=9.1.4",
34
+ "typer>=0.24.1",
35
+ ]
36
+
37
+ [project.optional-dependencies]
38
+ windows = []
39
+ plot = [
40
+
41
+ ]
42
+
43
+
44
+ [project.urls]
45
+ "Homepage" = "https://github.com/thisismygitrepo/stackops"
46
+ "Bug Tracker" = "https://github.com/thisismygitrepo/stackops/issues"
47
+
48
+ [project.scripts]
49
+ devops = "stackops.scripts.python.devops:main"
50
+ cloud = "stackops.scripts.python.cloud:main"
51
+ fire = "stackops.scripts.python.fire_jobs:main"
52
+ agents = "stackops.scripts.python.agents:main"
53
+ terminal = "stackops.scripts.python.terminal:main"
54
+ preview = "stackops.scripts.python.preview:main"
55
+ utils = "stackops.scripts.python.utils:main"
56
+ stackops = "stackops.scripts.python.stackops_entry:main"
57
+ seek = "stackops.scripts.python.seek:main"
58
+
59
+ [tool.setuptools]
60
+ package-dir = {"" = "src"}
61
+ include-package-data = true
62
+ license-files = []
63
+
64
+ [tool.setuptools.packages.find]
65
+ where = ["src"]
66
+
67
+ [tool.setuptools.package-data]
68
+ stackops = ["**/*.toml", "**/*.md", "**/*.sh", "**/*.ps1", "**/*.txt", "utils/schemas/**/*.json", "utils/schemas/**/*.yaml"]
69
+
70
+ [dependency-groups]
71
+ dev = [
72
+ "aider>=0.2.6",
73
+ "build>=1.4.1",
74
+ "cleanpy>=0.5.1",
75
+ "cowsay>=6.1",
76
+ "duckdb>=1.5.1",
77
+ "gdown>=5.2.1",
78
+ "griffe>=2.0.2",
79
+ "ipdb>=0.13.13",
80
+ "ipykernel>=7.2.0",
81
+ "ipython>=9.11.0",
82
+ "kaleido>=1.2.0",
83
+ "marimo>=0.21.1",
84
+ "matplotlib>=3.10.8",
85
+ "mkdocstrings>=1.0.3",
86
+ "mkdocstrings-python>=2.0.3",
87
+ "mypy>=1.19.1",
88
+ "numpy>=2.4.3",
89
+ "pandas>=3.0.1",
90
+ "plotly>=6.6.0",
91
+ "polars>=1.39.3",
92
+ "pre-commit>=4.5.1",
93
+ "pudb>=2025.1.5",
94
+ "py7zr>=1.1.0",
95
+ "pydantic>=2.12.5",
96
+ "pydeps>=3.0.2",
97
+ "pyinstaller>=6.19.0",
98
+ "pylint>=4.0.5",
99
+ "pylsp-mypy>=0.7.1",
100
+ "pymupdf>=1.27.2.2",
101
+ "pypdf>=6.9.2",
102
+ "pyrefly>=0.58.0",
103
+ "pyright>=1.1.408",
104
+ "pytest>=9.0.2",
105
+ "python-lsp-server[mypy]>=1.14.0",
106
+ "qrcode>=8.2",
107
+ "ruff>=0.15.7",
108
+ "ruff-lsp>=0.0.62",
109
+ "sqlalchemy>=2.0.48",
110
+ "textual>=8.1.1",
111
+ "trogon>=0.6.0",
112
+ "ty>=0.0.25",
113
+ "types-mysqlclient>=2.2.0.20250915",
114
+ "types-paramiko>=4.0.0.20260322",
115
+ "types-pytz>=2026.1.1.20260304",
116
+ "types-pyyaml>=6.0.12.20250915",
117
+ "types-requests>=2.32.4.20260324",
118
+ "types-sqlalchemy>=1.4.53.38",
119
+ "types-toml>=0.10.8.20240310",
120
+ "types-urllib3>=1.26.25.14",
121
+ "vt-py>=0.22.0",
122
+ "yapf>=0.43.0",
123
+ "zensical>=0.0.29",
124
+ ]
125
+ other = [
126
+ "duckdb-engine>=0.17.0",
127
+ "pycrucible>=0.4.6",
128
+ "vt-py>=0.22.0",
129
+ ]
130
+ plot = [
131
+ "duckdb>=1.5.1",
132
+ "ipykernel>=7.2.0",
133
+ "ipython>=9.11.0",
134
+ "jupyterlab>=4.5.6",
135
+ "kaleido>=1.2.0",
136
+ "matplotlib>=3.10.8",
137
+ "nbformat>=5.10.4",
138
+ "numpy>=2.4.3",
139
+ "plotly>=6.6.0",
140
+ "polars>=1.39.3",
141
+ "python-magic>=0.4.27",
142
+ "sqlalchemy>=2.0.48",
143
+ ]
144
+
145
+
146
+ [tool.pycrucible]
147
+ entry = "src/stackops/scripts/python/devops.py"
148
+ [tool.pycrucible.options]
149
+ debug = false
150
+ extract_to_temp = false
151
+ delete_after_run = false
152
+ offline_mode = false
153
+
154
+ [tool.pycrucible.patterns]
155
+ include = [
156
+ "**/*.py",
157
+ "**/*.ps1",
158
+ "**/*.sh",
159
+ "**/*.md",
160
+ ]
161
+ exclude = [
162
+ "**/__pycache__/**",
163
+ ]
@@ -0,0 +1,47 @@
1
+ import json
2
+ from pathlib import Path
3
+
4
+ import pytest
5
+
6
+ from stackops.secrets.loader import SecretsSchemaError, load_secrets_file
7
+ from stackops.secrets.models import SecretRecord
8
+
9
+
10
+ REPO_ROOT = Path(__file__).resolve().parents[2]
11
+ SECRETS_SCHEMA_PATH = REPO_ROOT / "src" / "stackops" / "secrets" / "secrets.schema.json"
12
+ SECRETS_EXAMPLE_PATH = REPO_ROOT / "src" / "stackops" / "secrets" / "secrets.example.json"
13
+
14
+
15
+ def test_loader_requires_secret_name(tmp_path: Path) -> None:
16
+ secrets_path = tmp_path / "secrets.json"
17
+ secrets_path.write_text(
18
+ json.dumps({"version": "0.5", "entries": [{"name": "service", "secrets": [{"keyValues": {"TOKEN": "redacted"}}]}]}), encoding="utf-8"
19
+ )
20
+
21
+ with pytest.raises(SecretsSchemaError, match=r"entries\[0\]\.secrets\[0\]\.name must be a non-empty string"):
22
+ load_secrets_file(secrets_path)
23
+
24
+
25
+ def test_loaded_secret_name_is_required_type(tmp_path: Path) -> None:
26
+ secrets_path = tmp_path / "secrets.json"
27
+ secrets_path.write_text(
28
+ json.dumps({"version": "0.5", "entries": [{"name": "service", "secrets": [{"name": "api-token", "keyValues": {"TOKEN": "redacted"}}]}]}),
29
+ encoding="utf-8",
30
+ )
31
+
32
+ loaded = load_secrets_file(secrets_path)
33
+ secret: SecretRecord = loaded["entries"][0]["secrets"][0]
34
+
35
+ assert secret["name"] == "api-token"
36
+
37
+
38
+ def test_schema_requires_secret_name() -> None:
39
+ schema = json.loads(SECRETS_SCHEMA_PATH.read_text(encoding="utf-8"))
40
+
41
+ assert schema["definitions"]["secret"]["required"] == ["name", "keyValues"]
42
+
43
+
44
+ def test_packaged_example_secret_entries_have_names() -> None:
45
+ example = json.loads(SECRETS_EXAMPLE_PATH.read_text(encoding="utf-8"))
46
+
47
+ assert all("name" in secret for entry in example["entries"] for secret in entry["secrets"])
@@ -0,0 +1,42 @@
1
+ from datetime import date
2
+
3
+ import pytest
4
+
5
+ from stackops.scripts.python.helpers.helpers_utils.upgrade_packages import (
6
+ format_stackops_display_version,
7
+ get_next_stackops_version,
8
+ parse_stackops_calver,
9
+ )
10
+
11
+
12
+ def test_legacy_version_migrates_to_current_calver_month() -> None:
13
+ assert get_next_stackops_version("8.104", today=date(2026, 6, 9)) == "26.6"
14
+
15
+
16
+ def test_same_month_releases_increment_unbounded_release_number() -> None:
17
+ assert get_next_stackops_version("26.6", today=date(2026, 6, 9)) == "26.6.1"
18
+ assert get_next_stackops_version("26.6.500", today=date(2026, 6, 9)) == "26.6.501"
19
+
20
+
21
+ def test_new_month_release_resets_to_month_base_version() -> None:
22
+ assert get_next_stackops_version("26.6.500", today=date(2026, 7, 1)) == "26.7"
23
+ assert get_next_stackops_version("25.12.4", today=date(2026, 1, 1)) == "26.1"
24
+
25
+
26
+ def test_future_month_version_is_rejected_to_avoid_downgrade() -> None:
27
+ with pytest.raises(ValueError, match="later than today's release month"):
28
+ get_next_stackops_version("26.7", today=date(2026, 6, 9))
29
+
30
+
31
+ def test_display_version_keeps_v_prefix_and_canonical_month() -> None:
32
+ assert format_stackops_display_version("26.6") == "v26.6"
33
+ assert format_stackops_display_version("26.6.1") == "v26.6.1"
34
+
35
+
36
+ def test_calver_parser_accepts_tag_style_and_rejects_invalid_months() -> None:
37
+ parsed = parse_stackops_calver("v26.6.500")
38
+ assert parsed is not None
39
+ assert parsed.year == 26
40
+ assert parsed.month == 6
41
+ assert parsed.release == 500
42
+ assert parse_stackops_calver("8.104") is None
@@ -0,0 +1,5 @@
1
+ from stackops.architecture_graph.cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ main()
@@ -0,0 +1,70 @@
1
+ import argparse
2
+ from dataclasses import dataclass
3
+ from pathlib import Path
4
+ from typing import cast
5
+
6
+ from stackops.architecture_graph.graph import build_graph_page_payload
7
+ from stackops.architecture_graph.renderer import write_html
8
+
9
+ DEFAULT_DEPTH = 1
10
+ DEFAULT_MAX_DEPTH = 3
11
+ DEFAULT_OUTPUT_PATH = Path(".ai/architecture_dependencies.html")
12
+ DEFAULT_PACKAGE_NAME = "stackops"
13
+ DEFAULT_SOURCE_ROOT = Path("src/stackops")
14
+
15
+
16
+ @dataclass(frozen=True, slots=True)
17
+ class CliArgs:
18
+ source_root: Path
19
+ package_name: str
20
+ output_path: Path
21
+ depth: int
22
+ max_depth: int
23
+
24
+
25
+ def main() -> None:
26
+ args = parse_cli_args()
27
+ if not args.source_root.exists():
28
+ raise SystemExit(f"source root does not exist: {args.source_root}")
29
+ payload = build_graph_page_payload(
30
+ source_root=args.source_root,
31
+ package_name=args.package_name,
32
+ initial_depth=args.depth,
33
+ max_depth=args.max_depth,
34
+ )
35
+ output_path = write_html(payload=payload, output_path=args.output_path)
36
+ print(f"Wrote {output_path}")
37
+
38
+
39
+ def parse_cli_args() -> CliArgs:
40
+ parser = build_parser()
41
+ namespace = parser.parse_args()
42
+ source_root = cast(Path, getattr(namespace, "source_root"))
43
+ package_name = cast(str, getattr(namespace, "package_name"))
44
+ output_path = cast(Path, getattr(namespace, "output_path"))
45
+ depth = cast(int, getattr(namespace, "depth"))
46
+ max_depth = cast(int, getattr(namespace, "max_depth"))
47
+ if depth < 0:
48
+ raise SystemExit("--depth must be zero or greater")
49
+ if max_depth < depth:
50
+ raise SystemExit("--max-depth must be greater than or equal to --depth")
51
+ return CliArgs(
52
+ source_root=source_root,
53
+ package_name=package_name,
54
+ output_path=output_path,
55
+ depth=depth,
56
+ max_depth=max_depth,
57
+ )
58
+
59
+
60
+ def build_parser() -> argparse.ArgumentParser:
61
+ parser = argparse.ArgumentParser(
62
+ prog="python -m stackops.architecture_graph",
63
+ description="Generate an interactive HTML dependency graph for StackOps.",
64
+ )
65
+ parser.add_argument("--source-root", type=Path, default=DEFAULT_SOURCE_ROOT)
66
+ parser.add_argument("--package-name", default=DEFAULT_PACKAGE_NAME)
67
+ parser.add_argument("--output", dest="output_path", type=Path, default=DEFAULT_OUTPUT_PATH)
68
+ parser.add_argument("--depth", type=int, default=DEFAULT_DEPTH)
69
+ parser.add_argument("--max-depth", type=int, default=DEFAULT_MAX_DEPTH)
70
+ return parser
@@ -0,0 +1,148 @@
1
+ from collections import Counter
2
+ from datetime import UTC, datetime
3
+ from pathlib import Path
4
+
5
+ from stackops.architecture_graph.models import (
6
+ EdgePayload,
7
+ GraphPagePayload,
8
+ GraphPayload,
9
+ InternalImport,
10
+ NodeId,
11
+ NodePayload,
12
+ PythonModule,
13
+ )
14
+ from stackops.architecture_graph.scanner import collect_internal_imports, discover_python_modules
15
+
16
+
17
+ def build_graph_page_payload(
18
+ source_root: Path,
19
+ package_name: str,
20
+ initial_depth: int,
21
+ max_depth: int,
22
+ ) -> GraphPagePayload:
23
+ if initial_depth < 0:
24
+ raise ValueError("initial_depth must be zero or greater")
25
+ if max_depth < initial_depth:
26
+ raise ValueError("max_depth must be greater than or equal to initial_depth")
27
+ modules = discover_python_modules(source_root=source_root, package_name=package_name)
28
+ imports = collect_internal_imports(modules=modules, package_name=package_name)
29
+ generated_at = datetime.now(UTC).isoformat(timespec="seconds")
30
+ depths = {
31
+ str(depth): graph_payload_from_imports(
32
+ source_root=source_root,
33
+ package_name=package_name,
34
+ depth=depth,
35
+ generated_at=generated_at,
36
+ modules=modules,
37
+ imports=imports,
38
+ )
39
+ for depth in range(max_depth + 1)
40
+ }
41
+ return {
42
+ "packageName": package_name,
43
+ "sourceRoot": str(source_root),
44
+ "generatedAt": generated_at,
45
+ "initialDepth": initial_depth,
46
+ "maxDepth": max_depth,
47
+ "depths": depths,
48
+ }
49
+
50
+
51
+ def build_graph_payload(source_root: Path, package_name: str, depth: int) -> GraphPayload:
52
+ if depth < 0:
53
+ raise ValueError("depth must be zero or greater")
54
+ modules = discover_python_modules(source_root=source_root, package_name=package_name)
55
+ imports = collect_internal_imports(modules=modules, package_name=package_name)
56
+ generated_at = datetime.now(UTC).isoformat(timespec="seconds")
57
+ return graph_payload_from_imports(
58
+ source_root=source_root,
59
+ package_name=package_name,
60
+ depth=depth,
61
+ generated_at=generated_at,
62
+ modules=modules,
63
+ imports=imports,
64
+ )
65
+
66
+
67
+ def graph_payload_from_imports(
68
+ source_root: Path,
69
+ package_name: str,
70
+ depth: int,
71
+ generated_at: str,
72
+ modules: list[PythonModule],
73
+ imports: list[InternalImport],
74
+ ) -> GraphPayload:
75
+ module_nodes = {
76
+ module.name: aggregate_module_name(module.name, package_name, depth)
77
+ for module in modules
78
+ }
79
+ node_module_counts: Counter[NodeId] = Counter(module_nodes.values())
80
+ node_file_counts: Counter[NodeId] = Counter(module_nodes[module.name] for module in modules)
81
+ edge_counts: Counter[tuple[NodeId, NodeId]] = Counter()
82
+
83
+ for internal_import in imports:
84
+ source = module_nodes[internal_import.importer]
85
+ target = module_nodes[internal_import.imported]
86
+ if source != target:
87
+ edge_counts[(source, target)] += 1
88
+
89
+ return {
90
+ "packageName": package_name,
91
+ "sourceRoot": str(source_root),
92
+ "depth": depth,
93
+ "generatedAt": generated_at,
94
+ "moduleCount": len(modules),
95
+ "importCount": len(imports),
96
+ "nodes": node_payloads(node_module_counts, node_file_counts, package_name),
97
+ "edges": edge_payloads(edge_counts),
98
+ }
99
+
100
+
101
+ def aggregate_module_name(module_name: str, package_name: str, depth: int) -> NodeId:
102
+ package_parts = package_name.split(".")
103
+ module_parts = module_name.split(".")
104
+ keep_count = len(package_parts) + depth
105
+ if len(module_parts) <= keep_count:
106
+ return module_name
107
+ return ".".join(module_parts[:keep_count])
108
+
109
+
110
+ def node_payloads(
111
+ module_counts: Counter[NodeId],
112
+ file_counts: Counter[NodeId],
113
+ package_name: str,
114
+ ) -> list[NodePayload]:
115
+ return [
116
+ {
117
+ "id": node_id,
118
+ "label": node_label(node_id, package_name),
119
+ "group": node_group(node_id, package_name),
120
+ "moduleCount": module_counts[node_id],
121
+ "fileCount": file_counts[node_id],
122
+ }
123
+ for node_id in sorted(module_counts)
124
+ ]
125
+
126
+
127
+ def edge_payloads(edge_counts: Counter[tuple[NodeId, NodeId]]) -> list[EdgePayload]:
128
+ return [
129
+ {"source": source, "target": target, "count": count}
130
+ for (source, target), count in sorted(edge_counts.items())
131
+ ]
132
+
133
+
134
+ def node_label(node_id: NodeId, package_name: str) -> str:
135
+ if node_id == package_name:
136
+ return package_name
137
+ suffix = node_id.removeprefix(f"{package_name}.")
138
+ suffix_parts = suffix.split(".")
139
+ if len(suffix_parts) == 1:
140
+ return suffix
141
+ return "/".join(suffix_parts[-2:])
142
+
143
+
144
+ def node_group(node_id: NodeId, package_name: str) -> str:
145
+ if node_id == package_name:
146
+ return package_name
147
+ suffix = node_id.removeprefix(f"{package_name}.")
148
+ return suffix.split(".")[0]