From 1cb18ec06a54f21988de63de856fdbcc455d9133 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:46:13 +0600 Subject: [PATCH 01/24] Create devcontainer.json --- .devcontainer/devcontainer.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..760d87aa --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,24 @@ +{ + "name": "Python Codespaces Starter", + "dockerFile": "Dockerfile", + "context": "..", + "features": { + "ghcr.io/devcontainers/features/python:1": { + "version": "3.12" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "ms-pyright.pyright", + "ms-python.python" + ], + "settings": { + "python.analysis.typeCheckingMode": "basic", + "python.languageServer": "Pylance" + } + } + }, + "postCreateCommand": "bash .devcontainer/setup.sh", + "remoteUser": "codespaces" +} From 9dc8d37b073bc8d77405418a791da97993155c93 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:47:25 +0600 Subject: [PATCH 02/24] Create Dockerfile --- .devcontainer/Dockerfile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .devcontainer/Dockerfile diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..763c9a57 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,17 @@ +# Base image with Python 3.12 slim +FROM mcr.microsoft.com/devcontainers/python:3.12-bullseye + +# Clean apt cache and reduce layers +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + git curl wget build-essential && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# Optional: remove unwanted preinstalled Python packages to save space +RUN pip freeze | xargs pip uninstall -y || true + +# Create workspace directory +WORKDIR /workspace + +# Set default shell +SHELL ["/bin/bash", "-c"] From 823531f75c36c1b17a69174bb4c7b837310ee261 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:48:19 +0600 Subject: [PATCH 03/24] Create setup.sh --- .devcontainer/setup.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .devcontainer/setup.sh diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100644 index 00000000..230d8346 --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Ensure script exits on error +set -e + +echo "=== Cleaning Python caches and pip cache ===" +rm -rf ~/.cache/pip +rm -rf ~/.cache/pypoetry +rm -rf ~/.local/share/virtualenvs + +echo "=== Installing project dependencies ===" +if [ -f /workspaces/requirements.txt ]; then + pip install --no-cache-dir -r /workspaces/requirements.txt +fi + +echo "=== Environment ready ===" From 62f0a6451f8c20341e2e58d47b7577b191e88722 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:49:31 +0600 Subject: [PATCH 04/24] Update .gitignore --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index 45092090..fb281b40 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,12 @@ htmlcov/ .tox/ .nox/ .hypothesis/ +__pycache__/ +*.pyc +*.pyo +*.pyd +.env +.venv/ +dist/ +build/ +*.egg-info/ From 65e95ae60e2835b8af262295bb340cb8a5c7bb28 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:51:19 +0600 Subject: [PATCH 05/24] Create .gitkeep --- data/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/.gitkeep diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/.gitkeep @@ -0,0 +1 @@ + From b23c2d1c1a7381bc2cd0e0be96de46cec08582d8 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:52:34 +0600 Subject: [PATCH 06/24] Create .gitkeep --- data/usr/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/.gitkeep diff --git a/data/usr/.gitkeep b/data/usr/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/.gitkeep @@ -0,0 +1 @@ + From ba2f234d2f3091af766732f82ed08935385b7415 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:53:06 +0600 Subject: [PATCH 07/24] Create .gitkeep --- data/usr/workdir/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/workdir/.gitkeep diff --git a/data/usr/workdir/.gitkeep b/data/usr/workdir/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/workdir/.gitkeep @@ -0,0 +1 @@ + From ee7237e40aa091bfe5a8902f090ca39f9f9f2c0c Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:53:32 +0600 Subject: [PATCH 08/24] Create .gitkeep --- data/usr/skills/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/skills/.gitkeep diff --git a/data/usr/skills/.gitkeep b/data/usr/skills/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/skills/.gitkeep @@ -0,0 +1 @@ + From b94ca3bf91b40fb4b6e11874f96709b38ebeed46 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:53:59 +0600 Subject: [PATCH 09/24] Create .gitkeep --- data/usr/plugins/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/plugins/.gitkeep diff --git a/data/usr/plugins/.gitkeep b/data/usr/plugins/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/plugins/.gitkeep @@ -0,0 +1 @@ + From 72b4cdfcb6f125972bc8ce1f3dadfdb08b055dd0 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:54:25 +0600 Subject: [PATCH 10/24] Create .gitkeep --- data/usr/knowledge/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/knowledge/.gitkeep diff --git a/data/usr/knowledge/.gitkeep b/data/usr/knowledge/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/knowledge/.gitkeep @@ -0,0 +1 @@ + From 7e5841234e3dcc4f18a744764c18b1de38179255 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:54:45 +0600 Subject: [PATCH 11/24] Create .gitkeep --- data/usr/knowledge/main/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/knowledge/main/.gitkeep diff --git a/data/usr/knowledge/main/.gitkeep b/data/usr/knowledge/main/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/knowledge/main/.gitkeep @@ -0,0 +1 @@ + From 0a9d33f2d47db6135eb1ac830e08ef6d6c9ab663 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:55:11 +0600 Subject: [PATCH 12/24] Create .gitkeep --- data/usr/knowledge/solutions/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/knowledge/solutions/.gitkeep diff --git a/data/usr/knowledge/solutions/.gitkeep b/data/usr/knowledge/solutions/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/knowledge/solutions/.gitkeep @@ -0,0 +1 @@ + From a807fba144f5d55294d2ee9489349f80d421b960 Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:55:40 +0600 Subject: [PATCH 13/24] Create .gitkeep --- data/usr/agents/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/usr/agents/.gitkeep diff --git a/data/usr/agents/.gitkeep b/data/usr/agents/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/data/usr/agents/.gitkeep @@ -0,0 +1 @@ + From 084634ba7a62cc7c965133d0482e1de0a09ae1ce Mon Sep 17 00:00:00 2001 From: xeondesk Date: Sat, 7 Mar 2026 19:56:39 +0600 Subject: [PATCH 14/24] Create .gitkeep --- logs/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 logs/.gitkeep diff --git a/logs/.gitkeep b/logs/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/logs/.gitkeep @@ -0,0 +1 @@ + From 5253a50164714c9de9ba4c08ddf9162704f61930 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:44:09 +0600 Subject: [PATCH 15/24] =?UTF-8?q?=E2=AC=86=20Bump=20codecov/codecov-action?= =?UTF-8?q?=20from=204=20to=205=20(#7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e57adf4b..cf9d1db5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,7 @@ jobs: run: bash scripts/test-cov.sh - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: file: ./coverage.xml fail_ci_if_error: false From 402ec68a44e7df2b1e40b15de0b5843d6a2e439f Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:49:31 +0600 Subject: [PATCH 16/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 33 +++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 77a09161..43974545 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -8,9 +8,36 @@ on: jobs: pre-commit: runs-on: ubuntu-latest + steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 with: python-version: "3.12" - - uses: pre-commit/action@v3.0.1 + + - name: Install pre-commit + run: | + python -m pip install --upgrade pip + pip install pre-commit + + - name: Auto-fix pre-commit + run: | + pre-commit run --all-files --exclude 'webui/vendor/*' + git add . + git commit -m "Apply pre-commit fixes" || echo "No changes to commit" + git push + + # Optional: auto-fix and commit changes back to the branch + - name: Auto-fix and push + if: github.event_name == 'push' + run: | + pre-commit run --all-files --show-diff-on-failure + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add . + git commit -m "Apply pre-commit fixes" || echo "No changes to commit" + git push + From 522e50026fb3e99a9fdc179a7992e88974575a3f Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:50:03 +0600 Subject: [PATCH 17/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 43974545..96a43393 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -1,6 +1,7 @@ name: pre-commit on: + workflow_dispatch: pull_request: push: branches: [main] From ef6d562829f19ba0daca37c0a72e90e7225c8ed9 Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:50:54 +0600 Subject: [PATCH 18/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 96a43393..fd62355b 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -26,7 +26,7 @@ jobs: - name: Auto-fix pre-commit run: | - pre-commit run --all-files --exclude 'webui/vendor/*' + pre-commit run --all-files git add . git commit -m "Apply pre-commit fixes" || echo "No changes to commit" git push From 09906d4a143141b5b5adf246d3e1ac1852c7ebf5 Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:52:54 +0600 Subject: [PATCH 19/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index fd62355b..044af0ac 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -24,9 +24,11 @@ jobs: python -m pip install --upgrade pip pip install pre-commit - - name: Auto-fix pre-commit + - name: Run Ruff with auto-fix run: | - pre-commit run --all-files + pip install ruff + # Apply safe and unsafe fixes + ruff check src --fix --unsafe-fixes git add . git commit -m "Apply pre-commit fixes" || echo "No changes to commit" git push From 7bf86d066bc9419e09fc8122565b7cd8c6716cc8 Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:54:08 +0600 Subject: [PATCH 20/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 044af0ac..d4051f08 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -27,8 +27,7 @@ jobs: - name: Run Ruff with auto-fix run: | pip install ruff - # Apply safe and unsafe fixes - ruff check src --fix --unsafe-fixes + make format git add . git commit -m "Apply pre-commit fixes" || echo "No changes to commit" git push From 049136613c453019ad8718fb5fee71a4e92b8cec Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:54:53 +0600 Subject: [PATCH 21/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index d4051f08..1dcceae7 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -22,7 +22,7 @@ jobs: - name: Install pre-commit run: | python -m pip install --upgrade pip - pip install pre-commit + pip install pre-commit uv - name: Run Ruff with auto-fix run: | From d593937306b0f5758b0a965b50b51cdc4eeac8d6 Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:56:56 +0600 Subject: [PATCH 22/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 1dcceae7..ed06562d 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -19,27 +19,21 @@ jobs: with: python-version: "3.12" - - name: Install pre-commit + - name: Install dependencies run: | python -m pip install --upgrade pip - pip install pre-commit uv + pip install pre-commit ruff - - name: Run Ruff with auto-fix + - name: Run pre-commit auto-fix run: | - pip install ruff - make format - git add . - git commit -m "Apply pre-commit fixes" || echo "No changes to commit" - git push - - # Optional: auto-fix and commit changes back to the branch - - name: Auto-fix and push - if: github.event_name == 'push' - run: | - pre-commit run --all-files --show-diff-on-failure + # Auto-fix all hooks including Ruff + pre-commit run --all-files --show-diff-on-failure --hook-stage manual + + # Configure git for GitHub Actions bot git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" + + # Commit & push changes if any git add . git commit -m "Apply pre-commit fixes" || echo "No changes to commit" - git push - + git push || echo "Push failed (nothing to push)" From 2f71dc8cb602935f1080c83d165a30f399717765 Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:58:34 +0600 Subject: [PATCH 23/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index ed06562d..426d8413 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -22,11 +22,12 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install pre-commit ruff + pip install pre-commit ruff uv - name: Run pre-commit auto-fix run: | # Auto-fix all hooks including Ruff + make format pre-commit run --all-files --show-diff-on-failure --hook-stage manual # Configure git for GitHub Actions bot From 940a91d5edc7c4fa8c028c5c148721c15505d03b Mon Sep 17 00:00:00 2001 From: fortishield <161459699+FortiShield@users.noreply.github.com> Date: Sun, 8 Mar 2026 07:01:13 +0600 Subject: [PATCH 24/24] Update pre-commit.yml --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 426d8413..b7cb4c95 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -28,7 +28,7 @@ jobs: run: | # Auto-fix all hooks including Ruff make format - pre-commit run --all-files --show-diff-on-failure --hook-stage manual + pre-commit run --all-files --show-diff-on-failure --hook-stage manual --exclude 'webui/*' # Configure git for GitHub Actions bot git config user.name "github-actions[bot]"