smart-linux-assistant 0.7.0__tar.gz → 0.7.1__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 (41) hide show
  1. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/PKG-INFO +7 -5
  2. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/README.md +6 -4
  3. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/pyproject.toml +1 -1
  4. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/PKG-INFO +7 -5
  5. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/LICENSE +0 -0
  6. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/__init__.py +0 -0
  7. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/cli/__init__.py +0 -0
  8. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/cli/main.py +0 -0
  9. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/config/__init__.py +0 -0
  10. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/config/settings.py +0 -0
  11. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/core/__init__.py +0 -0
  12. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/exceptions/__init__.py +0 -0
  13. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/exceptions/base.py +0 -0
  14. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/models/__init__.py +0 -0
  15. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/models/command_result.py +0 -0
  16. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/models/history_entry.py +0 -0
  17. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/repositories/__init__.py +0 -0
  18. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/repositories/history_repository.py +0 -0
  19. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/services/__init__.py +0 -0
  20. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/services/command_executor.py +0 -0
  21. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/services/explainer.py +0 -0
  22. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/services/search.py +0 -0
  23. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/utils/__init__.py +0 -0
  24. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/utils/groq_client.py +0 -0
  25. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/utils/logger.py +0 -0
  26. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/utils/redactor.py +0 -0
  27. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/linux_assistant/utils/shell.py +0 -0
  28. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/setup.cfg +0 -0
  29. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/SOURCES.txt +0 -0
  30. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/dependency_links.txt +0 -0
  31. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/entry_points.txt +0 -0
  32. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/requires.txt +0 -0
  33. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/smart_linux_assistant.egg-info/top_level.txt +0 -0
  34. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_cli.py +0 -0
  35. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_command_executor.py +0 -0
  36. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_explainer.py +0 -0
  37. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_groq_client.py +0 -0
  38. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_history_repository.py +0 -0
  39. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_redactor.py +0 -0
  40. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_search.py +0 -0
  41. {smart_linux_assistant-0.7.0 → smart_linux_assistant-0.7.1}/tests/test_shell.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smart-linux-assistant
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: An AI-powered Linux productivity assistant for command analysis, troubleshooting, and knowledge management.
5
5
  Author: Shubham Kumar Jha
6
6
  License: MIT
@@ -212,8 +212,8 @@ Suggested fix:
212
212
  - AI-powered explanations: implemented — `smart-linux explain` uses the Groq API (`llama-3.3-70b-versatile`) to generate plain-language explanations of commands and error messages, via `linux_assistant.services.explainer.Explainer`. Requires a user-supplied `GROQ_API_KEY` environment variable.
213
213
  - AI-powered fix suggestions: implemented — `smart-linux fix` runs a failing command and suggests a corrected version; `smart-linux run --check --suggest-fix` offers the same suggestion inline as part of normal command execution. Both use `linux_assistant.services.explainer.Explainer.suggest_fix()`.
214
214
  - AI-powered search: implemented — `smart-linux search` answers natural-language questions about Linux tasks via `linux_assistant.services.search.Searcher`.
215
- - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, and documented OS/privacy limitations across all AI-backed commands.
216
- - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI-powered use of this history (e.g. `explain`/`fix` referencing past failures) is planned for a future version but not yet implemented.
215
+ - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, regex-based secret redaction (scrubbing passwords and API keys before LLM transit), and documented OS/privacy limitations across all AI-backed commands.
216
+ - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI Context Injection is implemented: `explain` and `fix` commands dynamically fetch the last 5 chronological commands to give the LLM workflow awareness, protected by graceful degradation if the database is locked.
217
217
  - Additional AI features (documentation lookup) are planned but not yet implemented.
218
218
 
219
219
  ## Known Limitations
@@ -222,9 +222,11 @@ Suggested fix:
222
222
 
223
223
  ## Privacy Note
224
224
 
225
- The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. Avoid running these commands on text that contains secrets, passwords, or sensitive data, since that content leaves your machine.
225
+ The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. The explain, fix, and search commands send your terminal queries to Groq's API for processing. Starting in v0.7.0, `explain` and `fix` also securely read your recent local command history to provide context-aware solutions.
226
226
 
227
- Separately, `smart-linux run` records a local history of command invocations (command text, exit code, duration, working directory, and for failures only — a truncated stderr snippet) in a SQLite database on your machine. This data never leaves your machine and is not sent to any API. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
227
+ Security First: Before any history leaves your machine, it passes through a local Regex Redactor `(linux_assistant.utils.redactor)` which automatically scrubs standard environment variables, inline passwords, and Bearer tokens, replacing them with [REDACTED]. However, you should still exercise caution and avoid running these commands on highly sensitive plaintext data.
228
+
229
+ Separately, `smart-linux run` records your command invocations (command text, exit code, duration, working directory, and truncated stderr) in a local SQLite database. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
228
230
 
229
231
  ## Install from PyPI
230
232
 
@@ -185,8 +185,8 @@ Suggested fix:
185
185
  - AI-powered explanations: implemented — `smart-linux explain` uses the Groq API (`llama-3.3-70b-versatile`) to generate plain-language explanations of commands and error messages, via `linux_assistant.services.explainer.Explainer`. Requires a user-supplied `GROQ_API_KEY` environment variable.
186
186
  - AI-powered fix suggestions: implemented — `smart-linux fix` runs a failing command and suggests a corrected version; `smart-linux run --check --suggest-fix` offers the same suggestion inline as part of normal command execution. Both use `linux_assistant.services.explainer.Explainer.suggest_fix()`.
187
187
  - AI-powered search: implemented — `smart-linux search` answers natural-language questions about Linux tasks via `linux_assistant.services.search.Searcher`.
188
- - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, and documented OS/privacy limitations across all AI-backed commands.
189
- - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI-powered use of this history (e.g. `explain`/`fix` referencing past failures) is planned for a future version but not yet implemented.
188
+ - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, regex-based secret redaction (scrubbing passwords and API keys before LLM transit), and documented OS/privacy limitations across all AI-backed commands.
189
+ - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI Context Injection is implemented: `explain` and `fix` commands dynamically fetch the last 5 chronological commands to give the LLM workflow awareness, protected by graceful degradation if the database is locked.
190
190
  - Additional AI features (documentation lookup) are planned but not yet implemented.
191
191
 
192
192
  ## Known Limitations
@@ -195,9 +195,11 @@ Suggested fix:
195
195
 
196
196
  ## Privacy Note
197
197
 
198
- The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. Avoid running these commands on text that contains secrets, passwords, or sensitive data, since that content leaves your machine.
198
+ The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. The explain, fix, and search commands send your terminal queries to Groq's API for processing. Starting in v0.7.0, `explain` and `fix` also securely read your recent local command history to provide context-aware solutions.
199
199
 
200
- Separately, `smart-linux run` records a local history of command invocations (command text, exit code, duration, working directory, and for failures only — a truncated stderr snippet) in a SQLite database on your machine. This data never leaves your machine and is not sent to any API. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
200
+ Security First: Before any history leaves your machine, it passes through a local Regex Redactor `(linux_assistant.utils.redactor)` which automatically scrubs standard environment variables, inline passwords, and Bearer tokens, replacing them with [REDACTED]. However, you should still exercise caution and avoid running these commands on highly sensitive plaintext data.
201
+
202
+ Separately, `smart-linux run` records your command invocations (command text, exit code, duration, working directory, and truncated stderr) in a local SQLite database. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
201
203
 
202
204
  ## Install from PyPI
203
205
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "smart-linux-assistant"
7
- version = "0.7.0"
7
+ version = "0.7.1"
8
8
  description = "An AI-powered Linux productivity assistant for command analysis, troubleshooting, and knowledge management."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smart-linux-assistant
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: An AI-powered Linux productivity assistant for command analysis, troubleshooting, and knowledge management.
5
5
  Author: Shubham Kumar Jha
6
6
  License: MIT
@@ -212,8 +212,8 @@ Suggested fix:
212
212
  - AI-powered explanations: implemented — `smart-linux explain` uses the Groq API (`llama-3.3-70b-versatile`) to generate plain-language explanations of commands and error messages, via `linux_assistant.services.explainer.Explainer`. Requires a user-supplied `GROQ_API_KEY` environment variable.
213
213
  - AI-powered fix suggestions: implemented — `smart-linux fix` runs a failing command and suggests a corrected version; `smart-linux run --check --suggest-fix` offers the same suggestion inline as part of normal command execution. Both use `linux_assistant.services.explainer.Explainer.suggest_fix()`.
214
214
  - AI-powered search: implemented — `smart-linux search` answers natural-language questions about Linux tasks via `linux_assistant.services.search.Searcher`.
215
- - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, and documented OS/privacy limitations across all AI-backed commands.
216
- - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI-powered use of this history (e.g. `explain`/`fix` referencing past failures) is planned for a future version but not yet implemented.
215
+ - Production hardening: implemented — API timeouts, retry logic, rate-limit-specific handling, input truncation, regex-based secret redaction (scrubbing passwords and API keys before LLM transit), and documented OS/privacy limitations across all AI-backed commands.
216
+ - Command history: implemented — `smart-linux run` records every invocation locally via `linux_assistant.repositories.history_repository.HistoryRepository` (SQLite-backed, FIFO-capped at 5,000 rows). View with `smart-linux history` (supports `--failures-only`), erase with `smart-linux history clear`, or disable entirely via `SMART_LINUX_NO_HISTORY=1`. AI Context Injection is implemented: `explain` and `fix` commands dynamically fetch the last 5 chronological commands to give the LLM workflow awareness, protected by graceful degradation if the database is locked.
217
217
  - Additional AI features (documentation lookup) are planned but not yet implemented.
218
218
 
219
219
  ## Known Limitations
@@ -222,9 +222,11 @@ Suggested fix:
222
222
 
223
223
  ## Privacy Note
224
224
 
225
- The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. Avoid running these commands on text that contains secrets, passwords, or sensitive data, since that content leaves your machine.
225
+ The `explain`, `fix`, and `search` commands send the command text, error output, or your query to Groq's API for processing. The explain, fix, and search commands send your terminal queries to Groq's API for processing. Starting in v0.7.0, `explain` and `fix` also securely read your recent local command history to provide context-aware solutions.
226
226
 
227
- Separately, `smart-linux run` records a local history of command invocations (command text, exit code, duration, working directory, and for failures only — a truncated stderr snippet) in a SQLite database on your machine. This data never leaves your machine and is not sent to any API. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
227
+ Security First: Before any history leaves your machine, it passes through a local Regex Redactor `(linux_assistant.utils.redactor)` which automatically scrubs standard environment variables, inline passwords, and Bearer tokens, replacing them with [REDACTED]. However, you should still exercise caution and avoid running these commands on highly sensitive plaintext data.
228
+
229
+ Separately, `smart-linux run` records your command invocations (command text, exit code, duration, working directory, and truncated stderr) in a local SQLite database. `stdout` is never recorded. To disable history recording entirely, set `SMART_LINUX_NO_HISTORY=1`. To view or erase recorded history, use `smart-linux history` and `smart-linux history clear`.
228
230
 
229
231
  ## Install from PyPI
230
232