## Why Currently, the system maintains a hardcoded distinction between "built-in" and "custom" tool types via the `is_builtin` flag and automatic seeding logic in `main.py`. This creates a two-tier system where built-in tools are privileged, cannot be fully managed by users, and require code changes to modify. All tool types should be first-class citizens — the former "built-in" tools are simply preconfigured tool types that ship with the system. ## What Changes - **Remove `is_builtin` field** from `ToolType` model and database schema - **Remove automatic seeding** of built-in tool types from `main.py` startup logic - **Create migration script** to convert existing built-in types to regular types - **Update tool type API** to remove built-in vs custom distinction in responses and permissions - **Remove built-in protections** that prevent deletion/modification of built-in types - **Seed initial data via migration** instead of runtime code, making them regular database records - **Update frontend** to remove any built-in-specific UI treatment ## Capabilities ### New Capabilities None. ### Modified Capabilities - `tool-types`: Remove built-in vs custom distinction. All tool types are equal. ## Impact - **Database**: Migration to drop `is_builtin` column and convert existing records - **Backend API**: `tool_types.py` — remove built-in checks, simplify permissions - **Models**: `tool_type.py` — remove `is_builtin` field - **Startup**: `main.py` — remove `seed_builtin_tool_types()` function - **Frontend**: Remove any built-in-specific UI (badges, restrictions, etc.) - **Data**: Existing built-in types become regular editable tool types