mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-07 05:15:09 -05:00
Prisma's generated `types.py` file is 57,000+ lines with complex recursive TypedDict definitions that exhaust Pyright's type inference budget. This causes random type errors and makes the type checker unreliable. ### Changes 🏗️ - Add `gen_prisma_types_stub.py` script that generates a lightweight `.pyi` stub file - The stub preserves safe types (Literal, TypeVar) while collapsing complex TypedDicts to `dict[str, Any]` - Integrate stub generation into all workflows that run `prisma generate`: - `platform-backend-ci.yml` - `claude.yml` - `claude-dependabot.yml` - `copilot-setup-steps.yml` - `docker-compose.platform.yml` - `Dockerfile` - `Makefile` (migrate & reset-db targets) - `linter.py` (lint & format commands) - Add `gen-prisma-stub` poetry script entry - Fix two pre-existing type errors that were previously masked: - `store/db.py`: Replace private type `_StoreListingVersion_version_OrderByInput` with dict literal - `airtable/_webhook.py`: Add cast for `Serializable` type ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Run `poetry run format` - passes with 0 errors (down from 57+) - [x] Run `poetry run lint` - passes with 0 errors - [x] Run `poetry run gen-prisma-stub` - generates stub successfully - [x] Verify stub file is created at correct location with proper content #### For configuration changes: - [x] `.env.default` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [x] I have included a list of my configuration changes in the PR description (under **Changes**) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Added a lightweight Prisma type-stub generator and integrated it into build, lint, CI/CD, and container workflows. * Build, migration, formatting, and lint steps now generate these stubs to improve type-checking performance and reduce overhead during builds and deployments. * Exposed a project command to run stub generation manually. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
63 lines
1.8 KiB
Makefile
63 lines
1.8 KiB
Makefile
.PHONY: start-core stop-core logs-core format lint migrate run-backend run-frontend load-store-agents
|
|
|
|
# Run just Supabase + Redis + RabbitMQ
|
|
start-core:
|
|
docker compose up -d deps
|
|
|
|
# Stop core services
|
|
stop-core:
|
|
docker compose stop deps
|
|
|
|
reset-db:
|
|
rm -rf db/docker/volumes/db/data
|
|
cd backend && poetry run prisma migrate deploy
|
|
cd backend && poetry run prisma generate
|
|
cd backend && poetry run gen-prisma-stub
|
|
|
|
# View logs for core services
|
|
logs-core:
|
|
docker compose logs -f deps
|
|
|
|
# Run formatting and linting for backend and frontend
|
|
format:
|
|
cd backend && poetry run format
|
|
cd frontend && pnpm format
|
|
cd frontend && pnpm lint
|
|
|
|
init-env:
|
|
cp -n .env.default .env || true
|
|
cd backend && cp -n .env.default .env || true
|
|
cd frontend && cp -n .env.default .env || true
|
|
|
|
|
|
# Run migrations for backend
|
|
migrate:
|
|
cd backend && poetry run prisma migrate deploy
|
|
cd backend && poetry run prisma generate
|
|
cd backend && poetry run gen-prisma-stub
|
|
|
|
run-backend:
|
|
cd backend && poetry run app
|
|
|
|
run-frontend:
|
|
cd frontend && pnpm dev
|
|
|
|
test-data:
|
|
cd backend && poetry run python test/test_data_creator.py
|
|
|
|
load-store-agents:
|
|
cd backend && poetry run load-store-agents
|
|
|
|
help:
|
|
@echo "Usage: make <target>"
|
|
@echo "Targets:"
|
|
@echo " start-core - Start just the core services (Supabase, Redis, RabbitMQ) in background"
|
|
@echo " stop-core - Stop the core services"
|
|
@echo " reset-db - Reset the database by deleting the volume"
|
|
@echo " logs-core - Tail the logs for core services"
|
|
@echo " format - Format & lint backend (Python) and frontend (TypeScript) code"
|
|
@echo " migrate - Run backend database migrations"
|
|
@echo " run-backend - Run the backend FastAPI server"
|
|
@echo " run-frontend - Run the frontend Next.js development server"
|
|
@echo " test-data - Run the test data creator"
|
|
@echo " load-store-agents - Load store agents from agents/ folder into test database"
|