• Will Chen's avatar
    Agent: DB tools (#2122) · 74e3dd3a
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Introduces lighter, more targeted Supabase DB tooling and matching UI
    to reduce heavy schema fetches.
    > 
    > - Adds `get_supabase_project_info` and `get_supabase_table_schema`
    tools (XML streaming with `dyad-supabase-project-info` and
    `dyad-supabase-table-schema`), and registers them in `TOOL_DEFINITIONS`
    > - Removes `get_database_schema` tool
    > - UI: new `DyadSupabaseProjectInfo` and `DyadSupabaseTableSchema`
    components; `DyadMarkdownParser` recognizes/render new tags with
    loading/aborted states
    > - Supabase admin refactor: `buildSupabaseSchemaQuery(tableName)` for
    per-table filtering, add `SUPABASE_FUNCTIONS_QUERY`,
    `getSupabaseProjectInfo`, and `getSupabaseTableSchema`; lightweight
    table-names query; preserves test-build outputs
    > - Touches agent consent/execute path and renderer parsing for new tags
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    b772b0d48daf5798541597bcecfde42c39ea0e34. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds two Supabase DB tools for lightweight project info and targeted
    table schema retrieval, replacing the previous catch-all schema tool.
    Improves performance by letting the agent discover tables first, then
    fetch specific schemas as needed.
    
    - **New Features**
    - Added get_supabase_project_info: returns project ID, publishable key,
    secret names, and table names; optionally includes database functions.
    - Added get_supabase_table_schema: optional tableName for per-table
    schema; returns columns, policies, triggers.
    - Replaced SUPABASE_SCHEMA_QUERY with buildSupabaseSchemaQuery to
    support per-table filtering and escape inputs.
    - Removed get_database_schema and updated TOOL_DEFINITIONS to register
    the new tools.
    - Added UI tags and components to render results:
    dyad-supabase-project-info and dyad-supabase-table-schema.
    
    <sup>Written for commit b772b0d48daf5798541597bcecfde42c39ea0e34.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    74e3dd3a