Handle mentioned apps via smart context (#1412)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Send mentioned apps (names + files) to the engine through
dyad_options, omit inline other-apps prefix when engine is enabled, and
adjust e2e to snapshot request payload.
>
> - **Engine/Backend**:
> - Pass mentioned apps to engine via
`providerOptions['dyad-engine'].dyadMentionedApps` and forward as
`dyad_options.mentioned_apps` in `llm_engine_provider`.
> - Gate inline other-apps context: only include `otherCodebasePrefix`
when `isEngineEnabled` is false.
> - Enhance `extractMentionedAppsCodebases` to return `files` alongside
`codebaseInfo`.
> - **Tests**:
> - e2e: change `mention app (with pro)` snapshot to
`snapshotServerDump("request")` and update snapshot to assert request
payload contents.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7ddddf6c16c53cd36b4c7e4ec6a57da0616d1bb0. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
This commit is contained in:
@@ -630,18 +630,21 @@ This conversation includes one or more image attachments. When the user uploads
|
||||
},
|
||||
] as const);
|
||||
|
||||
const otherCodebasePrefix = otherAppsCodebaseInfo
|
||||
? ([
|
||||
{
|
||||
role: "user",
|
||||
content: createOtherAppsCodebasePrompt(otherAppsCodebaseInfo),
|
||||
},
|
||||
{
|
||||
role: "assistant",
|
||||
content: "OK.",
|
||||
},
|
||||
] as const)
|
||||
: [];
|
||||
// If engine is enabled, we will send the other apps codebase info to the engine
|
||||
// and process it with smart context.
|
||||
const otherCodebasePrefix =
|
||||
otherAppsCodebaseInfo && !isEngineEnabled
|
||||
? ([
|
||||
{
|
||||
role: "user",
|
||||
content: createOtherAppsCodebasePrompt(otherAppsCodebaseInfo),
|
||||
},
|
||||
{
|
||||
role: "assistant",
|
||||
content: "OK.",
|
||||
},
|
||||
] as const)
|
||||
: [];
|
||||
|
||||
const limitedHistoryChatMessages = limitedMessageHistory.map((msg) => ({
|
||||
role: msg.role as "user" | "assistant" | "system",
|
||||
@@ -720,6 +723,12 @@ This conversation includes one or more image attachments. When the user uploads
|
||||
"dyad-engine": {
|
||||
dyadRequestId,
|
||||
dyadDisableFiles,
|
||||
dyadMentionedApps: mentionedAppsCodebases.map(
|
||||
({ files, appName }) => ({
|
||||
appName,
|
||||
files,
|
||||
}),
|
||||
),
|
||||
},
|
||||
"dyad-gateway": getExtraProviderOptions(
|
||||
modelClient.builtinProviderId,
|
||||
|
||||
Reference in New Issue
Block a user