nexus-linux-assistant 0.1.0__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.
- nexus_linux_assistant-0.1.0/.env.example +16 -0
- nexus_linux_assistant-0.1.0/.github/workflows/ci.yml +77 -0
- nexus_linux_assistant-0.1.0/.github/workflows/release.yml +44 -0
- nexus_linux_assistant-0.1.0/.gitignore +29 -0
- nexus_linux_assistant-0.1.0/PKG-INFO +920 -0
- nexus_linux_assistant-0.1.0/README.md +874 -0
- nexus_linux_assistant-0.1.0/docs/API_KEY_ROTATION_GUIDE.md +217 -0
- nexus_linux_assistant-0.1.0/docs/FUTURE_SCOPE.md +149 -0
- nexus_linux_assistant-0.1.0/docs/GROQ_GPT_FALLBACK.md +203 -0
- nexus_linux_assistant-0.1.0/docs/MEMORY_PERSISTENCE_GUIDE.md +167 -0
- nexus_linux_assistant-0.1.0/docs/architecture_overview.md +344 -0
- nexus_linux_assistant-0.1.0/docs/model_usage_guide.md +439 -0
- nexus_linux_assistant-0.1.0/list_models.py +32 -0
- nexus_linux_assistant-0.1.0/pyproject.toml +101 -0
- nexus_linux_assistant-0.1.0/requirements.txt +18 -0
- nexus_linux_assistant-0.1.0/src/jarvis/__init__.py +0 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ai/__init__.py +9 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ai/command_generator.py +206 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ai/decision_engine.py +438 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ai/llm_client.py +335 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ai/memory_client.py +141 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/__init__.py +4 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/api_key_rotator.py +191 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/audit_logger.py +92 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/config_manager.py +126 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/executor.py +210 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/model_catalog.py +213 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/orchestrator.py +1639 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/persistent_session_manager.py +139 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/security.py +322 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/session_manager.py +330 -0
- nexus_linux_assistant-0.1.0/src/jarvis/core/system_detector.py +57 -0
- nexus_linux_assistant-0.1.0/src/jarvis/main.py +570 -0
- nexus_linux_assistant-0.1.0/src/jarvis/modules/__init__.py +1 -0
- nexus_linux_assistant-0.1.0/src/jarvis/modules/browser_manager.py +167 -0
- nexus_linux_assistant-0.1.0/src/jarvis/modules/package_manager.py +93 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ui/__init__.py +0 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ui/console_app.py +1538 -0
- nexus_linux_assistant-0.1.0/src/jarvis/ui/onboarding.py +213 -0
- nexus_linux_assistant-0.1.0/src/jarvis/utils/io.py +19 -0
- nexus_linux_assistant-0.1.0/src/jarvis/utils/syntax_output.py +282 -0
- nexus_linux_assistant-0.1.0/tests/conftest.py +109 -0
- nexus_linux_assistant-0.1.0/tests/test_audit_logger.py +94 -0
- nexus_linux_assistant-0.1.0/tests/test_command_generator.py +165 -0
- nexus_linux_assistant-0.1.0/tests/test_config_manager.py +125 -0
- nexus_linux_assistant-0.1.0/tests/test_decision_engine.py +120 -0
- nexus_linux_assistant-0.1.0/tests/test_executor.py +150 -0
- nexus_linux_assistant-0.1.0/tests/test_llm_client.py +98 -0
- nexus_linux_assistant-0.1.0/tests/test_model_catalog.py +78 -0
- nexus_linux_assistant-0.1.0/tests/test_orchestrator.py +244 -0
- nexus_linux_assistant-0.1.0/tests/test_package_manager.py +133 -0
- nexus_linux_assistant-0.1.0/tests/test_planner.py +107 -0
- nexus_linux_assistant-0.1.0/tests/test_security.py +221 -0
- nexus_linux_assistant-0.1.0/tests/test_session_manager.py +204 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# API Keys
|
|
2
|
+
JARVIS_API_KEY=
|
|
3
|
+
BROWSER_USE_API_KEY=
|
|
4
|
+
JARVIS_MODEL_PROVIDER=
|
|
5
|
+
OPENROUTER_API_KEY=
|
|
6
|
+
GROQ_API_KEY=
|
|
7
|
+
GROQ_GPT_API_KEY=
|
|
8
|
+
SARVAM_API_KEY=
|
|
9
|
+
|
|
10
|
+
# Memory System
|
|
11
|
+
SUPERMEMORY_API_KEY=
|
|
12
|
+
|
|
13
|
+
# Sarvam.ai Translation & Voice
|
|
14
|
+
# Get your API key from https://sarvam.ai
|
|
15
|
+
# Supports: Hindi, Tamil, Telugu, Bengali, Malayalam, Kannada, Gujarati, Marathi, Punjabi
|
|
16
|
+
SARVAM_API_KEY=your_sarvam_api_key_here
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ["main", "mvp"]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: ["main", "mvp"]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
name: pytest (${{ matrix.python-version }}, ${{ matrix.extras }})
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
17
|
+
extras: ["dev"]
|
|
18
|
+
include:
|
|
19
|
+
- python-version: "3.11"
|
|
20
|
+
extras: "all,dev"
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
uses: actions/setup-python@v5
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
|
|
30
|
+
- name: Cache pip
|
|
31
|
+
uses: actions/cache@v4
|
|
32
|
+
with:
|
|
33
|
+
path: ~/.cache/pip
|
|
34
|
+
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
|
|
35
|
+
restore-keys: |
|
|
36
|
+
${{ runner.os }}-pip-${{ matrix.python-version }}-
|
|
37
|
+
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
run: |
|
|
40
|
+
python -m pip install --upgrade pip
|
|
41
|
+
pip install -e ".[${{ matrix.extras }}]"
|
|
42
|
+
|
|
43
|
+
- name: Run tests
|
|
44
|
+
run: pytest --tb=short -q
|
|
45
|
+
|
|
46
|
+
- name: Show coverage (Python 3.11 core only)
|
|
47
|
+
if: matrix.python-version == '3.11' && matrix.extras == 'dev'
|
|
48
|
+
run: |
|
|
49
|
+
pip install pytest-cov
|
|
50
|
+
pytest --cov=src/jarvis --cov-report=term-missing -q
|
|
51
|
+
|
|
52
|
+
lint:
|
|
53
|
+
name: lint & security
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
|
|
58
|
+
- name: Set up Python
|
|
59
|
+
uses: actions/setup-python@v5
|
|
60
|
+
with:
|
|
61
|
+
python-version: "3.11"
|
|
62
|
+
|
|
63
|
+
- name: Install tools
|
|
64
|
+
run: |
|
|
65
|
+
python -m pip install --upgrade pip
|
|
66
|
+
pip install ruff pip-audit
|
|
67
|
+
pip install -e ".[dev]"
|
|
68
|
+
|
|
69
|
+
- name: Ruff lint
|
|
70
|
+
run: ruff check src/ tests/
|
|
71
|
+
|
|
72
|
+
- name: Ruff format check
|
|
73
|
+
run: ruff format --check src/ tests/
|
|
74
|
+
|
|
75
|
+
- name: Pip audit (security)
|
|
76
|
+
run: pip-audit --strict
|
|
77
|
+
continue-on-error: true
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Build sdist + wheel, attach to GitHub Release, publish to PyPI (trusted publishing).
|
|
2
|
+
# Tag: git tag v0.1.0 && git push origin v0.1.0
|
|
3
|
+
#
|
|
4
|
+
# PyPI trusted publisher (one-time): https://docs.pypi.org/trusted-publishers/
|
|
5
|
+
# Create project "nexus-linux-assistant" on PyPI, then add publisher:
|
|
6
|
+
# Owner: Garvit1000, repo: nexus, workflow: release.yml (environment: leave empty unless you add one below).
|
|
7
|
+
|
|
8
|
+
name: Release
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
tags:
|
|
13
|
+
- "v*"
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
id-token: write
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
publish:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- uses: actions/setup-python@v5
|
|
26
|
+
with:
|
|
27
|
+
python-version: "3.11"
|
|
28
|
+
|
|
29
|
+
- name: Install build
|
|
30
|
+
run: pip install --upgrade pip build
|
|
31
|
+
|
|
32
|
+
- name: Build sdist and wheel
|
|
33
|
+
run: python -m build
|
|
34
|
+
|
|
35
|
+
- name: Upload GitHub Release assets
|
|
36
|
+
uses: softprops/action-gh-release@v2
|
|
37
|
+
with:
|
|
38
|
+
files: dist/*
|
|
39
|
+
generate_release_notes: true
|
|
40
|
+
|
|
41
|
+
- name: Publish to PyPI
|
|
42
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
43
|
+
with:
|
|
44
|
+
verbose: true
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Environment variables
|
|
7
|
+
.env
|
|
8
|
+
|
|
9
|
+
# Virtual environments
|
|
10
|
+
.venv
|
|
11
|
+
.venv-ci/
|
|
12
|
+
env/
|
|
13
|
+
venv/
|
|
14
|
+
ENV/
|
|
15
|
+
env.bak/
|
|
16
|
+
venv.bak/
|
|
17
|
+
|
|
18
|
+
# Distribution / packaging
|
|
19
|
+
build/
|
|
20
|
+
dist/
|
|
21
|
+
*.egg-info/
|
|
22
|
+
|
|
23
|
+
# IDEs
|
|
24
|
+
.vscode/
|
|
25
|
+
.idea/
|
|
26
|
+
|
|
27
|
+
# OS specific
|
|
28
|
+
.DS_Store
|
|
29
|
+
Thumbs.db
|