• Will Chen's avatar
    Selected component engine (#1562) · d571d303
    Will Chen 提交于
    <!-- This is an auto-generated description by cubic. -->
    
    ## Summary by cubic
    Enable the Dyad Engine to prioritize a user-selected component by
    flagging the file as focused and sending codebase files per request.
    Keeps full context when the engine is on; falls back to path-scoped
    context when it’s off.
    
    - **New Features**
    - Mark the selected component file as focused when the engine is
    enabled.
    - Send codebase files to the engine via dyadFiles, applied to
    dyad_options unless disabled.
    - Maintain full chatContext with engine; restrict to the selected file
    path only when engine is off.
    
    - **Refactors**
    - Removed files from getModelClient and provider APIs; file transport
    moved into request payload.
    - Stream handlers now pass files to model calls and include
    dyadDisableFiles/dyadFiles in the request.
      - Added focused flag to CodebaseFile.
    
    <!-- End of auto-generated description by cubic. -->
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Sends codebase files per request to the Dyad Engine, focuses the
    selected component when smart context is enabled, and refactors model
    client/provider APIs to remove file parameters.
    > 
    > - **Engine integration**:
    > - Send codebase files per request via `dyadFiles` in provider options;
    propagate through `simpleStreamText` and `dyad-engine` options.
    > - Add `isSmartContextEnabled` from `get_model_client` and gate context
    behavior accordingly.
    > - **Selected component focus**:
    > - When smart context is on and a component is selected, mark its file
    as `focused` in `CodebaseFile` and avoid broad smart context includes;
    allow on-demand reads.
    > - When smart context is off, restrict `chatContext` to the selected
    file path.
    > - **Refactors**:
    > - Remove `files` parameter from `getModelClient` and Dyad provider;
    move file transport into request body.
    > - Update `llm_engine_provider` to read `dyadFiles` from request and
    populate `dyad_options.files` unless `dyadDisableFiles`.
    > - Extend `CodebaseFile` with optional `focused` flag; thread `files`
    through `chat_stream_handlers` calls.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    022b26d0197ab5b5d4f5b589f45bc230de36e0e5. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    d571d303
codebase.ts 18.2 KB