Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7a0a90e
switch from supabase to native auth
Swiftyos Dec 19, 2025
f83c939
ci(platform): enable CI workflows for native-auth branch
Swiftyos Dec 19, 2025
17c9e7c
fix(backend): format migrate_supabase_users.py for black compliance
Swiftyos Dec 19, 2025
a80b06d
fix(backend): rename password-related log variables to avoid security…
Swiftyos Dec 19, 2025
f6af700
fix(backend): format migrate_supabase_users.py line 148
Swiftyos Dec 19, 2025
1775286
Merge dev into native-auth
Swiftyos Dec 19, 2025
e92459f
fix(backend): Improve migration script with nuke step and table exclu…
Swiftyos Dec 19, 2025
af98bc1
Merge branch 'native-auth' of github.com:Significant-Gravitas/AutoGPT…
Swiftyos Dec 19, 2025
65026fc
feat(backend): Add script to migrate large execution tables
Swiftyos Dec 19, 2025
8f722bd
fix(backend): Resolve pyright type errors for Prisma TypedDict inputs
Swiftyos Dec 19, 2025
3f1e66b
Merge branch 'native-auth' of github.com:Significant-Gravitas/AutoGPT…
Swiftyos Dec 19, 2025
3dd6e5c
update openapi.json
Swiftyos Dec 19, 2025
a415f47
add rust migration tool
Swiftyos Dec 19, 2025
175ba13
added oauth login
Swiftyos Dec 19, 2025
23fb3ad
fix(ci): Use correct poetry command 'rest' instead of 'serve'
Swiftyos Dec 19, 2025
c68b53b
fix(frontend): Fix Google OAuth callback URL and error handling
Swiftyos Dec 19, 2025
4ef3eab
fix(ci): Use export-api-schema instead of running server
Swiftyos Dec 19, 2025
9e83985
fix(ci): Add boolean argument to --pretty flag
Swiftyos Dec 19, 2025
84244c0
fix(frontend): Handle 401 errors gracefully in onboarding provider
Swiftyos Dec 19, 2025
a7a521c
update openapi.json
Swiftyos Dec 19, 2025
9ecf8bc
fmt
Swiftyos Dec 19, 2025
af014ea
refactor(ci): Simplify fullstack CI by removing backend dependencies
Swiftyos Dec 19, 2025
974c14a
fix(frontend): Use server-side URL for auth API in Docker
Swiftyos Dec 20, 2025
87e3d7e
updates
Swiftyos Dec 20, 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
8 changes: 4 additions & 4 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ pnpm storybook # Start component development server
### Security & Middleware

**Cache Protection**: Backend includes middleware preventing sensitive data caching in browsers/proxies
**Authentication**: JWT-based with Supabase integration
**Authentication**: JWT-based with native authentication
**User ID Validation**: All data access requires user ID checks - verify this for any `data/*.py` changes

### Development Workflow
Expand All @@ -168,9 +168,9 @@ pnpm storybook # Start component development server

- `frontend/src/app/layout.tsx` - Root application layout
- `frontend/src/app/page.tsx` - Home page
- `frontend/src/lib/supabase/` - Authentication and database client
- `frontend/src/lib/auth/` - Authentication client

**Protected Routes**: Update `frontend/lib/supabase/middleware.ts` when adding protected routes
**Protected Routes**: Update `frontend/middleware.ts` when adding protected routes

### Agent Block System

Expand All @@ -194,7 +194,7 @@ Agents are built using a visual block-based system where each block performs a s

1. **Backend**: `/backend/.env.default` → `/backend/.env` (user overrides)
2. **Frontend**: `/frontend/.env.default` → `/frontend/.env` (user overrides)
3. **Platform**: `/.env.default` (Supabase/shared) → `/.env` (user overrides)
3. **Platform**: `/.env.default` (shared) → `/.env` (user overrides)
4. Docker Compose `environment:` sections override file-based config
5. Shell environment variables have highest precedence

Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/claude-dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,7 @@ jobs:
"rabbitmq:management"
"clamav/clamav-debian:latest"
"busybox:latest"
"kong:2.8.1"
"supabase/gotrue:v2.170.0"
"supabase/postgres:15.8.1.049"
"supabase/postgres-meta:v0.86.1"
"supabase/studio:20250224-d10db0f"
"pgvector/pgvector:pg18"
)

# Check if any cached tar files exist (more reliable than cache-hit)
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,7 @@ jobs:
"rabbitmq:management"
"clamav/clamav-debian:latest"
"busybox:latest"
"kong:2.8.1"
"supabase/gotrue:v2.170.0"
"supabase/postgres:15.8.1.049"
"supabase/postgres-meta:v0.86.1"
"supabase/studio:20250224-d10db0f"
"pgvector/pgvector:pg18"
)

# Check if any cached tar files exist (more reliable than cache-hit)
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,7 @@ jobs:
"rabbitmq:management"
"clamav/clamav-debian:latest"
"busybox:latest"
"kong:2.8.1"
"supabase/gotrue:v2.170.0"
"supabase/postgres:15.8.1.049"
"supabase/postgres-meta:v0.86.1"
"supabase/studio:20250224-d10db0f"
"pgvector/pgvector:pg18"
)

# Check if any cached tar files exist (more reliable than cache-hit)
Expand Down
44 changes: 20 additions & 24 deletions .github/workflows/platform-backend-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: AutoGPT Platform - Backend CI

on:
push:
branches: [master, dev, ci-test*]
branches: [master, dev, ci-test*, native-auth]
paths:
- ".github/workflows/platform-backend-ci.yml"
- "autogpt_platform/backend/**"
- "autogpt_platform/autogpt_libs/**"
pull_request:
branches: [master, dev, release-*]
branches: [master, dev, release-*, native-auth]
paths:
- ".github/workflows/platform-backend-ci.yml"
- "autogpt_platform/backend/**"
Expand Down Expand Up @@ -36,6 +36,19 @@ jobs:
runs-on: ubuntu-latest

services:
postgres:
image: pgvector/pgvector:pg18
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: your-super-secret-and-long-postgres-password
POSTGRES_DB: postgres
options: >-
--health-cmd "pg_isready -U postgres"
--health-interval 5s
--health-timeout 5s
--health-retries 10
redis:
image: redis:latest
ports:
Expand Down Expand Up @@ -78,11 +91,6 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Setup Supabase
uses: supabase/setup-cli@v1
with:
version: 1.178.1

- id: get_date
name: Get date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -136,16 +144,6 @@ jobs:
- name: Generate Prisma Client
run: poetry run prisma generate

- id: supabase
name: Start Supabase
working-directory: .
run: |
supabase init
supabase start --exclude postgres-meta,realtime,storage-api,imgproxy,inbucket,studio,edge-runtime,logflare,vector,supavisor
supabase status -o env | sed 's/="/=/; s/"$//' >> $GITHUB_OUTPUT
# outputs:
# DB_URL, API_URL, GRAPHQL_URL, ANON_KEY, SERVICE_ROLE_KEY, JWT_SECRET

- name: Wait for ClamAV to be ready
run: |
echo "Waiting for ClamAV daemon to start..."
Expand Down Expand Up @@ -178,8 +176,8 @@ jobs:
- name: Run Database Migrations
run: poetry run prisma migrate dev --name updates
env:
DATABASE_URL: ${{ steps.supabase.outputs.DB_URL }}
DIRECT_URL: ${{ steps.supabase.outputs.DB_URL }}
DATABASE_URL: postgresql://postgres:your-super-secret-and-long-postgres-password@localhost:5432/postgres
DIRECT_URL: postgresql://postgres:your-super-secret-and-long-postgres-password@localhost:5432/postgres

- id: lint
name: Run Linter
Expand All @@ -195,11 +193,9 @@ jobs:
if: success() || (failure() && steps.lint.outcome == 'failure')
env:
LOG_LEVEL: ${{ runner.debug && 'DEBUG' || 'INFO' }}
DATABASE_URL: ${{ steps.supabase.outputs.DB_URL }}
DIRECT_URL: ${{ steps.supabase.outputs.DB_URL }}
SUPABASE_URL: ${{ steps.supabase.outputs.API_URL }}
SUPABASE_SERVICE_ROLE_KEY: ${{ steps.supabase.outputs.SERVICE_ROLE_KEY }}
JWT_VERIFY_KEY: ${{ steps.supabase.outputs.JWT_SECRET }}
DATABASE_URL: postgresql://postgres:your-super-secret-and-long-postgres-password@localhost:5432/postgres
DIRECT_URL: postgresql://postgres:your-super-secret-and-long-postgres-password@localhost:5432/postgres
JWT_SECRET: your-super-secret-jwt-token-with-at-least-32-characters-long
REDIS_HOST: "localhost"
REDIS_PORT: "6379"
ENCRYPTION_KEY: "dvziYgz0KSK8FENhju0ZYi8-fRTfAdlz6YLhdB_jhNw=" # DO NOT USE IN PRODUCTION!!
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/platform-frontend-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ name: AutoGPT Platform - Frontend CI

on:
push:
branches: [master, dev]
branches: [master, dev, native-auth]
paths:
- ".github/workflows/platform-frontend-ci.yml"
- "autogpt_platform/frontend/**"
pull_request:
branches: [master, dev, native-auth]
paths:
- ".github/workflows/platform-frontend-ci.yml"
- "autogpt_platform/frontend/**"
Expand Down Expand Up @@ -147,7 +148,7 @@ jobs:
- name: Enable corepack
run: corepack enable

- name: Copy default supabase .env
- name: Copy default platform .env
run: |
cp ../.env.default ../.env

Expand Down
56 changes: 9 additions & 47 deletions .github/workflows/platform-fullstack-ci.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
name: AutoGPT Platform - Frontend CI
name: AutoGPT Platform - Fullstack CI

on:
push:
branches: [master, dev]
branches: [master, dev, native-auth]
paths:
- ".github/workflows/platform-fullstack-ci.yml"
- "autogpt_platform/**"
pull_request:
branches: [master, dev, native-auth]
paths:
- ".github/workflows/platform-fullstack-ci.yml"
- "autogpt_platform/**"
Expand Down Expand Up @@ -58,14 +59,11 @@ jobs:
types:
runs-on: ubuntu-latest
needs: setup
strategy:
fail-fast: false
timeout-minutes: 10

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up Node.js
uses: actions/setup-node@v4
Expand All @@ -75,18 +73,6 @@ jobs:
- name: Enable corepack
run: corepack enable

- name: Copy default supabase .env
run: |
cp ../.env.default ../.env

- name: Copy backend .env
run: |
cp ../backend/.env.default ../backend/.env

- name: Run docker compose
run: |
docker compose -f ../docker-compose.yml --profile local --profile deps_backend up -d

- name: Restore dependencies cache
uses: actions/cache@v4
with:
Expand All @@ -101,36 +87,12 @@ jobs:
- name: Setup .env
run: cp .env.default .env

- name: Wait for services to be ready
run: |
echo "Waiting for rest_server to be ready..."
timeout 60 sh -c 'until curl -f http://localhost:8006/health 2>/dev/null; do sleep 2; done' || echo "Rest server health check timeout, continuing..."
echo "Waiting for database to be ready..."
timeout 60 sh -c 'until docker compose -f ../docker-compose.yml exec -T db pg_isready -U postgres 2>/dev/null; do sleep 2; done' || echo "Database ready check timeout, continuing..."

- name: Generate API queries
run: pnpm generate:api:force

- name: Check for API schema changes
run: |
if ! git diff --exit-code src/app/api/openapi.json; then
echo "❌ API schema changes detected in src/app/api/openapi.json"
echo ""
echo "The openapi.json file has been modified after running 'pnpm generate:api-all'."
echo "This usually means changes have been made in the BE endpoints without updating the Frontend."
echo "The API schema is now out of sync with the Front-end queries."
echo ""
echo "To fix this:"
echo "1. Pull the backend 'docker compose pull && docker compose up -d --build --force-recreate'"
echo "2. Run 'pnpm generate:api' locally"
echo "3. Run 'pnpm types' locally"
echo "4. Fix any TypeScript errors that may have been introduced"
echo "5. Commit and push your changes"
echo ""
exit 1
else
echo "✅ No API schema changes detected"
fi
run: pnpm generate:api

- name: Run Typescript checks
run: pnpm types

env:
CI: true
PLAIN_OUTPUT: True
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,5 @@ Use conventional commit messages for all commits (e.g. `feat(backend): add API`)
- Keep out-of-scope changes under 20% of the PR.
- Ensure PR descriptions are complete.
- For changes touching `data/*.py`, validate user ID checks or explain why not needed.
- If adding protected frontend routes, update `frontend/lib/supabase/middleware.ts`.
- If adding protected frontend routes, update `frontend/lib/auth/helpers.ts`.
- Use the linear ticket branch structure if given codex/open-1668-resume-dropped-runs
Loading
Loading