fixos 2.2.25__tar.gz → 2.2.26__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.25 → fixos-2.2.26}/CHANGELOG.md +11 -0
- {fixos-2.2.25 → fixos-2.2.26}/PKG-INFO +5 -5
- {fixos-2.2.25 → fixos-2.2.26}/README.md +4 -4
- {fixos-2.2.25 → fixos-2.2.26}/fixos/__init__.py +1 -1
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/PKG-INFO +5 -5
- {fixos-2.2.25 → fixos-2.2.26}/pyproject.toml +1 -1
- {fixos-2.2.25 → fixos-2.2.26}/setup.py +1 -1
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_anonymization_layers.py +1 -1
- {fixos-2.2.25 → fixos-2.2.26}/.env.example +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/LICENSE +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/MANIFEST.in +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/README.md +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/TEST_RESULTS.md +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/TEST_RESULTS_V2.md +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/alpine/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/arch/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/base/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/broken-audio/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/broken-full/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/broken-network/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/broken-thumbnails/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/debian/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/docker-compose.multi-system.yml +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/docker-compose.yml +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/fedora/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/test-multi-system.sh +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docker/ubuntu/Dockerfile +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docs/examples/advanced_usage.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/docs/examples/quickstart.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/autonomous.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/autonomous_session.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/hitl.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/hitl_session.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/session_core.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/session_handlers.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/agent/session_io.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/anonymizer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/ask_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/cleanup_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/config_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/features_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/fix_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/history_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/main.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/orchestrate_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/profile_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/provider_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/quickfix_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/report_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/rollback_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/scan_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/shared.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/token_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli/watch_cmd.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/cli.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/config.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/config_interactive.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/constants.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/_shared.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/audio.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/hardware.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/resources.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/security.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/system_core.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/checks/thumbnails.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/dev_project_analyzer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/disk_analyzer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/flatpak_analyzer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/service_cleanup.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/service_details.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/service_scanner.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/storage_analyzer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/diagnostics/system_checks.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/auditor.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/catalog.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/installer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/profiles.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/features/renderer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/fixes/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/interactive/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/interactive/cleanup_planner.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/llm_shell.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/orchestrator/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/orchestrator/executor.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/orchestrator/graph.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/orchestrator/orchestrator.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/orchestrator/rollback.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/platform_utils.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/base.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/audio.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/disk.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/hardware.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/resources.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/security.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/builtin/thumbnails.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/plugins/registry.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/profiles/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/providers/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/providers/llm.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/providers/llm_analyzer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/providers/schemas.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/system_checks.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/utils/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/utils/anonymizer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/utils/terminal.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/utils/timeout.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/utils/web_search.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos/watch.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/SOURCES.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/dependency_links.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/entry_points.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/requires.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/fixos.egg-info/top_level.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/pytest.ini +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/requirements-dev.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/requirements.txt +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/scripts/pyqual-calibrate.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/setup.cfg +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/conftest.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_audio_broken.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_cli.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_executor.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_multi_system.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_network_broken.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/e2e/test_thumbnails_broken.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/test_fixos.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/__init__.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_anonymizer.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_core.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_executor.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_orchestrator.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_service_cleanup.py +0 -0
- {fixos-2.2.25 → fixos-2.2.26}/tests/unit/test_service_scanner.py +0 -0
|
@@ -150,6 +150,17 @@ fix(goal): code analysis engine
|
|
|
150
150
|
- **refactor(cli):** Usunięto zduplikowany kod ujednolicając funkcje analizy dysku do wspólnego helpera `_run_disk_analysis`.
|
|
151
151
|
- **refactor(ui):** Usunięto ikony Unicode z CLI i sformatowano wyjście `stderr` oraz standardowego logowania na czysty kod Markdown dla poprawy czytelności w oknach terminalowych.
|
|
152
152
|
|
|
153
|
+
## [2.2.26] - 2026-05-04
|
|
154
|
+
|
|
155
|
+
### Docs
|
|
156
|
+
- Update README.md
|
|
157
|
+
|
|
158
|
+
### Test
|
|
159
|
+
- Update tests/e2e/test_anonymization_layers.py
|
|
160
|
+
|
|
161
|
+
### Other
|
|
162
|
+
- Update uv.lock
|
|
163
|
+
|
|
153
164
|
## [2.2.25] - 2026-05-04
|
|
154
165
|
|
|
155
166
|
### Docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fixos
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.26
|
|
4
4
|
Summary: AI-powered Linux/Windows diagnostics and repair – audio, hardware, system issues
|
|
5
5
|
Home-page: https://github.com/wronai/fixos
|
|
6
6
|
Author: fixos contributors
|
|
@@ -63,11 +63,11 @@ AI-powered OS Diagnostics
|
|
|
63
63
|
|
|
64
64
|
## AI Cost Tracking
|
|
65
65
|
|
|
66
|
-
     
|
|
67
|
+
  
|
|
68
68
|
|
|
69
|
-
- 🤖 **LLM usage:** $7.5000 (
|
|
70
|
-
- 👤 **Human dev:** ~$
|
|
69
|
+
- 🤖 **LLM usage:** $7.5000 (125 commits)
|
|
70
|
+
- 👤 **Human dev:** ~$2603 (26.0h @ $100/h, 30min dedup)
|
|
71
71
|
|
|
72
72
|
Generated on 2026-05-04 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
73
73
|
|
|
@@ -19,11 +19,11 @@ AI-powered OS Diagnostics
|
|
|
19
19
|
|
|
20
20
|
## AI Cost Tracking
|
|
21
21
|
|
|
22
|
-
     
|
|
23
|
+
  
|
|
24
24
|
|
|
25
|
-
- 🤖 **LLM usage:** $7.5000 (
|
|
26
|
-
- 👤 **Human dev:** ~$
|
|
25
|
+
- 🤖 **LLM usage:** $7.5000 (125 commits)
|
|
26
|
+
- 👤 **Human dev:** ~$2603 (26.0h @ $100/h, 30min dedup)
|
|
27
27
|
|
|
28
28
|
Generated on 2026-05-04 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
29
29
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""fixos – AI-powered Linux/Windows diagnostics and repair."""
|
|
2
|
-
__version__ = "2.2.
|
|
2
|
+
__version__ = "2.2.26"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fixos
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.26
|
|
4
4
|
Summary: AI-powered Linux/Windows diagnostics and repair – audio, hardware, system issues
|
|
5
5
|
Home-page: https://github.com/wronai/fixos
|
|
6
6
|
Author: fixos contributors
|
|
@@ -63,11 +63,11 @@ AI-powered OS Diagnostics
|
|
|
63
63
|
|
|
64
64
|
## AI Cost Tracking
|
|
65
65
|
|
|
66
|
-
     
|
|
67
|
+
  
|
|
68
68
|
|
|
69
|
-
- 🤖 **LLM usage:** $7.5000 (
|
|
70
|
-
- 👤 **Human dev:** ~$
|
|
69
|
+
- 🤖 **LLM usage:** $7.5000 (125 commits)
|
|
70
|
+
- 👤 **Human dev:** ~$2603 (26.0h @ $100/h, 30min dedup)
|
|
71
71
|
|
|
72
72
|
Generated on 2026-05-04 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
73
73
|
|
|
@@ -5,7 +5,7 @@ long_description = (Path(__file__).parent / "README.md").read_text(encoding="utf
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="fixos",
|
|
8
|
-
version="2.2.
|
|
8
|
+
version="2.2.25",
|
|
9
9
|
description="AI-powered Linux/Windows diagnostics and repair with anonymization",
|
|
10
10
|
long_description=long_description,
|
|
11
11
|
long_description_content_type="text/markdown",
|
|
@@ -686,7 +686,7 @@ class TestDeanonymizationLayer:
|
|
|
686
686
|
assert "[HOSTNAME]" not in executed_cmd
|
|
687
687
|
assert "[USER]" not in executed_cmd
|
|
688
688
|
|
|
689
|
-
@patch("fixos.
|
|
689
|
+
@patch("fixos.agent.session_handlers.run_command")
|
|
690
690
|
def test_run_single_command_deanonymizes(self, mock_run):
|
|
691
691
|
from fixos.agent.session_handlers import run_single_command
|
|
692
692
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|