Files
Fusion 312a646b89 feat: remove built-in tool types distinction
- Drop is_builtin column from tool_types table
- Remove built-in tool seeding from startup
- Remove is_builtin from API schemas and frontend types
- Update tool-types spec to reflect removal of built-in concept
- Add Alembic migration for column removal
- Update tests to work without built-in distinction
2026-05-23 20:02:19 +02:00

1.6 KiB

1. Database Migration

  • 1.1 Create Alembic migration to drop is_builtin column from tool_types table
  • 1.2 Ensure migration handles existing data (converts built-ins to regular types or just drops flag)
  • 1.3 Run migration successfully

2. Backend Model

  • 2.1 Remove is_builtin field from ToolType model (apps/api/src/models/tool_type.py)
  • 2.2 Remove is_builtin from Pydantic schemas in tool_types.py

3. Backend API

  • 3.1 Remove seed_builtin_tool_types() from main.py
  • 3.2 Remove built-in tool type definitions from main.py
  • 3.3 Update POST /tool-types to remove is_builtin=False default
  • 3.4 Update GET /tool-types to remove built-in vs custom distinction in responses
  • 3.5 Remove built-in protections in PUT /tool-types/{id} and DELETE /tool-types/{id}
  • 3.6 Update list_tool_types endpoint to return all types equally

4. Frontend

  • 4.1 Remove built-in badges or indicators from tool type listings
  • 4.2 Remove any built-in-specific UI restrictions (e.g., delete buttons disabled for built-ins)
  • 4.3 Update types to remove is_builtin field

5. Testing & Verification

  • 5.1 Update test file to remove is_builtin references (pytest installed but requires PostgreSQL which is not running in this environment)
  • 5.2 Backend linting (ruff not installed in environment)
  • 5.3 Backend type checking (mypy not installed in environment)
  • 5.4 Run frontend type checking
  • 5.5 Run frontend build
  • 5.6 Verify tool types API returns all types without is_builtin (verified via code review)