Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
b997e54
test: add frontend openai mock server
guenhter Oct 21, 2025
09bf43f
test: add llm config test
guenhter Oct 23, 2025
e52e51b
refactor: use opeanai chat service as module
guenhter Oct 23, 2025
09db6fe
ci: rename e2e tests
guenhter Oct 25, 2025
2428908
refactor: change test location
guenhter Oct 25, 2025
448468e
test: add more llm-provider ui tests
guenhter Oct 25, 2025
5323ddf
test: activate webkit as well
guenhter Nov 1, 2025
1a783a8
test: make openai mock not mutable
guenhter Nov 1, 2025
0a9130c
chore: separate modules.json better
guenhter Nov 3, 2025
0261b22
refactor: split backend/nobackend tests
guenhter Nov 5, 2025
2ba481c
refactor: move e2e tests
guenhter Nov 11, 2025
63ac5f6
chore: fix formatting
guenhter Nov 11, 2025
3592407
chore: format e2e tests as well
guenhter Nov 11, 2025
1e64f82
refactor: rename manifest
guenhter Nov 11, 2025
c871db1
refactor: reorganize module manager
guenhter Nov 12, 2025
4677b5c
refactor: module system
guenhter Nov 12, 2025
028bc23
feat: support module feature flags
guenhter Nov 12, 2025
c9f9633
doc: define module registration better
guenhter Nov 12, 2025
0b865be
chore: use moves sources
guenhter Nov 13, 2025
68151d9
doc: document flags
guenhter Nov 13, 2025
c2ea0e5
chore: make chat dependent on session flag
guenhter Nov 13, 2025
5d1de64
refactor: make fallback routing work proper
guenhter Nov 13, 2025
a099729
test: fix e2e test
guenhter Nov 13, 2025
8de513b
test: change module.json handling
guenhter Nov 13, 2025
6230689
ci: install frontend deps
guenhter Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space

[{*.ts,*.tsx}]
[{*.ts,*.tsx,*.js}]
indent_size = 4
10 changes: 8 additions & 2 deletions .github/workflows/format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ jobs:

frontend-format:
runs-on: ubuntu-latest
strategy:
matrix:
working-dir:
- frontend_omni
- e2e_tests/tests_omni_full
- e2e_tests/tests_omni_light
steps:
- uses: actions/checkout@v5
- name: Set up Node.js
Expand All @@ -32,8 +38,8 @@ jobs:
- name: Install pnpm
run: npm install -g pnpm
- name: Install dependencies
working-directory: frontend_omni
working-directory: ${{ matrix.working-dir }}
run: pnpm install
- name: Check formatting and linting
working-directory: frontend_omni
working-directory: ${{ matrix.working-dir }}
run: pnpm check
22 changes: 18 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,34 @@ jobs:

frontend-e2e:
runs-on: ubuntu-latest
strategy:
matrix:
working-dir:
- e2e_tests/tests_omni_full
- e2e_tests/tests_omni_light
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install pnpm
run: npm install -g pnpm
- name: Install dependencies
- name: Install dependencies for frontend
working-directory: frontend_omni
run: pnpm install
- name: Install dependencies for tests
working-directory: ${{ matrix.working-dir }}
run: pnpm install
- name: Install Playwright browsers
working-directory: frontend_omni
working-directory: ${{ matrix.working-dir }}
run: pnpm playwright install --with-deps
- name: Run Playwright tests
working-directory: frontend_omni
run: pnpm test:e2e
working-directory: ${{ matrix.working-dir }}
run: pnpm test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
__pycache__/
node_modules/
test-results/
playwright-report/
venv/
.venv/
uv.lock
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ uv run pytest tests/test_*.py # Run specific test file

```bash
cd frontend_omni
pnpm test:unit # Run unit tests (vitest)
pnpm test:e2e # Run e2e tests (Playwright)
pnpm test:unit # Run javascript unit tests (vitest)
pnpm test:ui # Run full ui tests (Playwright)
pnpm build # Build for production
pnpm lint # Run linter
```
Expand Down
1 change: 1 addition & 0 deletions e2e_tests/tests_omni_full/.editorconfig
27 changes: 27 additions & 0 deletions e2e_tests/tests_omni_full/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
public/modules.json

node_modules/
dist/
dist-ssr
*.local
playwright-report/
test-results/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
1 change: 1 addition & 0 deletions e2e_tests/tests_omni_full/biome.json
21 changes: 21 additions & 0 deletions e2e_tests/tests_omni_full/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "e2e-tests-with-backend",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"test": "playwright test",
"test:headed": "playwright test --headed",
"test:ui": "playwright test --ui",
"check": "biome check",
"check:write": "biome check --write"
},
"devDependencies": {
"@biomejs/biome": "2.2.6",
"@playwright/test": "^1.56.1",
"@types/node": "^24.3.0",
"cors": "^2.8.5",
"express": "^5.1.0",
"playwright": "^1.56.1"
}
}
49 changes: 49 additions & 0 deletions e2e_tests/tests_omni_full/playwright.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { defineConfig, devices } from "@playwright/test";

export default defineConfig({
testDir: ".",
testMatch: "*.spec.ts",
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: [
["html", { open: "never" }], // Generate HTML report but don't auto-open
["list"] // Also show results in terminal
],
use: {
baseURL: "http://localhost:4173",
trace: "on-first-retry",
},
projects: [
{
name: "chromium",
use: { ...devices["Desktop Chrome"] },
},
{
name: "firefox",
use: { ...devices["Desktop Firefox"] },
},
{
name: "webkit",
use: { ...devices["Desktop Safari"] },
},
],
webServer: [
{
command: "cd ../../frontend_omni && ln -sf modules_with_backend.json public/modules.json && pnpm build && pnpm preview",
url: "http://localhost:4173",
reuseExistingServer: !process.env.CI,
},
{
command: "cd ../../backend && uv run uvicorn modai.main:app",
url: "http://localhost:8000/api/v1/health",
reuseExistingServer: !process.env.CI,
},
{
command: "node src/mock-openai-server.js",
url: "http://localhost:3001",
reuseExistingServer: !process.env.CI,
},
],
});
Loading