# apps/api/src/seeds
dir: apps/api/src/seeds

index: apps/api/src/seeds/.pi-map.index.md

## role
Provides database seeding utilities for initializing and synchronizing built-in data records in the API application.
## files
- __init__.py | Marks the directory as a Python package for database seeding utilities.
- builtin_tool_types.py | Seeds predefined built-in tool types (code-server, jupyter-notebook, opencode) into a database with upsert logic, creating them if missing or updating existing ones to match code changes. | exp: func:_table_exists(session, table_name: str) → bool, call:session.execute, call:text, call:result.scalar, func:seed_builtin_tool_types(), call:SessionLocal, call:_table_exists, call:logger.warning, call:session.scalar, call:select(ToolType).where, call:ToolType, call:tool_data.get, call:session.add, call:logger.info, call:session.commit | dep: logging, sqlalchemy, src.database, src.models
## arch
Simple imperative seeding scripts with upsert pattern for idempotent data initialization, using direct database operations without abstraction layers.
## tags
tool, types, table, exists, builtin, call:tool, database, init
## symbols
- _table_exists
- seed_builtin_tool_types
- call:session.execute
- call:text
- call:result.scalar
- call:SessionLocal
- call:_table_exists
- call:logger.warning
## workflows
- change seeds behavior
  read: __init__.py, builtin_tool_types.py
## dirty
-
