fixos 2.2.48__tar.gz → 2.2.50__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.
- {fixos-2.2.48 → fixos-2.2.50}/PKG-INFO +1 -1
- {fixos-2.2.48 → fixos-2.2.50}/fixos/__init__.py +1 -1
- fixos-2.2.50/fixos/cli/_cleanup_space.py +1563 -0
- fixos-2.2.50/fixos/cli/_cleanup_venvs.py +113 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/cleanup_cmd.py +589 -34
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/main.py +42 -2
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/shared.py +2 -6
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/shell_cmd.py +79 -52
- {fixos-2.2.48 → fixos-2.2.50}/fixos/config.py +62 -29
- {fixos-2.2.48 → fixos-2.2.50}/fixos/constants.py +3 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/disk_analyzer.py +187 -99
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/docker_startup_optimizer.py +287 -8
- fixos-2.2.50/fixos/diagnostics/native_scan.py +146 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/project_scanner.py +43 -22
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/service_cleanup.py +497 -33
- fixos-2.2.50/fixos/diagnostics/venv_cleanup.py +351 -0
- fixos-2.2.50/fixos/providers/gemini_native.py +369 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/providers/llm.py +35 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/PKG-INFO +1 -1
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/SOURCES.txt +13 -1
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/top_level.txt +0 -1
- {fixos-2.2.48 → fixos-2.2.50}/pyproject.toml +3 -3
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_cleanup_cmd.py +24 -7
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_cleanup_effectiveness.py +6 -37
- fixos-2.2.50/tests/unit/test_cleanup_retention.py +381 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_cleanup_safety.py +133 -14
- fixos-2.2.50/tests/unit/test_cleanup_space.py +304 -0
- fixos-2.2.50/tests/unit/test_cleanup_tmp.py +248 -0
- fixos-2.2.50/tests/unit/test_disk_analyzer.py +60 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_docker_startup_optimizer.py +259 -9
- fixos-2.2.50/tests/unit/test_gemini_native_client.py +204 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_llm_provider.py +42 -2
- fixos-2.2.50/tests/unit/test_shell_ux.py +98 -0
- fixos-2.2.50/tests/unit/test_venv_cleanup.py +578 -0
- {fixos-2.2.48 → fixos-2.2.50}/.env.example +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/CHANGELOG.md +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/LICENSE +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/MANIFEST.in +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/README.md +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/README.md +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/TEST_RESULTS.md +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/TEST_RESULTS_V2.md +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/alpine/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/arch/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/base/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/broken-audio/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/broken-full/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/broken-network/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/broken-thumbnails/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/debian/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/docker-compose.multi-system.yml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/docker-compose.yml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/fedora/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/test-multi-system.sh +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/test-scenarios.sh +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/ubuntu/Dockerfile +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docker/validate-scenario.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docs/examples/advanced_usage.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/docs/examples/quickstart.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/__main__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/autonomous.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/autonomous_session.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/hitl.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/hitl_session.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/session_core.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/session_handlers.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/agent/session_io.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/anonymizer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/_cleanup_flatpak.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/_cleanup_home.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/_cleanup_snap.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/_cleanup_system.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/_cleanup_utils.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/ask_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/config_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/features_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/fix_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/history_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/jetbrains_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/orchestrate_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/output_formatter.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/profile_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/projects_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/provider_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/quick_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/quickfix_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/report_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/rollback_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/scan_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/token_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli/watch_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/cli.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/config_interactive.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_flatpak_analysis_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_flatpak_execution_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_flatpak_recommendations_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_storage_container_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_storage_system_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/_storage_user_mixin.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/cache_discovery.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/_shared.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/audio.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/file_analysis.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/hardware.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/packages.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/resources.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/security.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/storage_optimization.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/system_core.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/checks/thumbnails.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/dev_project_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/docker_network_cleanup.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/flatpak_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/jetbrains_ai.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/jetbrains_recovery.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/orphaned_workloads.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/process_chains.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/quick_snapshot.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/service_details.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/service_scanner.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/storage_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/system_checks.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/diagnostics/utils.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/endpoint_refresh.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/auditor.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/catalog.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/data/packages.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/data/profiles/developer.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/data/profiles/office.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/data/profiles/sysadmin.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/installer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/profiles.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/features/renderer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/fixes/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/interactive/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/interactive/cleanup_planner.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/llm_shell.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orchestrator/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orchestrator/executor.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orchestrator/graph.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orchestrator/orchestrator.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orchestrator/rollback.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/orphan_pins.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/platform_utils.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/base.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/audio.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/disk.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/hardware.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/resources.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/security.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/builtin/thumbnails.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/plugins/registry.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/profiles/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/profiles/desktop.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/profiles/developer.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/profiles/minimal.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/profiles/server.yaml +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/providers/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/providers/llm_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/providers/schemas.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/system_checks.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/utils/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/utils/anonymizer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/utils/terminal.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/utils/timeout.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/utils/web_search.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos/watch.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/dependency_links.txt +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/entry_points.txt +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/fixos.egg-info/requires.txt +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/pytest.ini +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/requirements-dev.txt +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/requirements.txt +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/scripts/pyqual-calibrate.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/setup.cfg +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/setup.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/conftest.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_anonymization_layers.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_audio_broken.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_cli.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_diagnostics_integration.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_executor.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_multi_system.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_network_broken.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/e2e/test_thumbnails_broken.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/test_fixos.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/__init__.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_anonymizer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_ask_and_nl_group.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_cache_discovery.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_cleanup_utils.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_core.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_dev_project_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_docker_network_cleanup.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_endpoint_refresh.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_executor.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_jetbrains_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_jetbrains_recovery.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_llm_auth_stop.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_orchestrator.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_orphan_pins.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_orphaned_workloads.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_packaging_data.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_process_chains.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_project_scanner.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_projects_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_quick_cmd.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_quick_snapshot.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_resources_quick.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_security_quick.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_service_cleanup.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_service_scanner.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_storage_analyzer.py +0 -0
- {fixos-2.2.48 → fixos-2.2.50}/tests/unit/test_system_checks_parallel.py +0 -0