312a646b89
- 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
1.6 KiB
1.6 KiB
1. Database Migration
- 1.1 Create Alembic migration to drop
is_builtincolumn fromtool_typestable - 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_builtinfield fromToolTypemodel (apps/api/src/models/tool_type.py) - 2.2 Remove
is_builtinfrom Pydantic schemas intool_types.py
3. Backend API
- 3.1 Remove
seed_builtin_tool_types()frommain.py - 3.2 Remove built-in tool type definitions from
main.py - 3.3 Update
POST /tool-typesto removeis_builtin=Falsedefault - 3.4 Update
GET /tool-typesto remove built-in vs custom distinction in responses - 3.5 Remove built-in protections in
PUT /tool-types/{id}andDELETE /tool-types/{id} - 3.6 Update
list_tool_typesendpoint 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_builtinfield
5. Testing & Verification
- 5.1 Update test file to remove
is_builtinreferences (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)