Skip to main content
Component: PrismaToolsMixin Module: gaia_agent_code.tools.prisma_tools Import: from gaia_agent_code.tools.prisma_tools import PrismaToolsMixin

Overview

PrismaToolsMixin provides Prisma database setup and management tools for the Code Agent, enforcing the correct workflow to prevent common errors in Next.js projects. Key Features:
  • Automated Prisma Client generation
  • Database schema push (prisma db push)
  • Singleton pattern implementation for Next.js
  • Correct import path guidance
  • Error categorization (client, schema, migration, runtime)
Enforced Workflow:
  1. Validate schema.prisma exists
  2. Generate Prisma Client (TypeScript types)
  3. Push schema to database
  4. Create singleton file (src/lib/prisma.ts)
  5. Return correct import patterns

API Specification


Implementation Details

Prisma Singleton Template

Why Singleton?
  • Prevents connection pool exhaustion in Next.js development
  • Hot reload causes multiple PrismaClient instances without singleton
  • Production builds donโ€™t have this issue (single instance)

Workflow Implementation


Error Handling

Error Types

  1. validation_error: Invalid project directory
  2. schema_error: Missing schema.prisma file
  3. client_error: prisma generate failed
  4. migration_error: prisma db push failed
  5. runtime_error: Timeout or unexpected exception

Common Errors


Testing Requirements

File: tests/agents/code/test_prisma_tools_mixin.py

Usage Examples

Example 1: Initial Prisma Setup

Example 2: Regenerate After Schema Changes

Example 3: Type Error Resolution


PrismaToolsMixin Technical Specification