From 2a5cd317e8f9f193ed7a6a5372758b279addd69f Mon Sep 17 00:00:00 2001 From: Will Chen Date: Wed, 17 Dec 2025 22:05:25 -0800 Subject: [PATCH 1/5] gemini 3 flash (#1977) > [!NOTE] > [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 015da81bdee067873de66007016e46b15d3b4ff0. Configure [here](https://cursor.com/dashboard?tab=bugbot). --- src/ipc/shared/language_model_constants.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/ipc/shared/language_model_constants.ts b/src/ipc/shared/language_model_constants.ts index 50eaa11..b5b67f5 100644 --- a/src/ipc/shared/language_model_constants.ts +++ b/src/ipc/shared/language_model_constants.ts @@ -152,9 +152,23 @@ export const MODEL_OPTIONS: Record = { maxOutputTokens: 65_536 - 1, // Gemini context window = input token + output token contextWindow: 1_048_576, + // Recommended by Google: https://ai.google.dev/gemini-api/docs/gemini-3?thinking=high#temperature temperature: 1.0, dollarSigns: 4, }, + // https://ai.google.dev/gemini-api/docs/models#gemini-3-pro + { + name: "gemini-3-flash-preview", + displayName: "Gemini 3 Flash (Preview)", + description: "Powerful coding model at a good price", + // See Flash 2.5 comment below (go 1 below just to be safe, even though it seems OK now). + maxOutputTokens: 65_536 - 1, + // Gemini context window = input token + output token + contextWindow: 1_048_576, + // Recommended by Google: https://ai.google.dev/gemini-api/docs/gemini-3?thinking=high#temperature + temperature: 1.0, + dollarSigns: 2, + }, // https://ai.google.dev/gemini-api/docs/models#gemini-2.5-pro-preview-03-25 { name: "gemini-2.5-pro", From 423be75dd6c639bbe0310f4281f24a4372c9bdbe Mon Sep 17 00:00:00 2001 From: Will Chen Date: Wed, 17 Dec 2025 22:13:54 -0800 Subject: [PATCH 2/5] prettier: gen playwright (#1979) --- scripts/generate-playwright-summary.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-playwright-summary.js b/scripts/generate-playwright-summary.js index 5af16c3..5c68d95 100644 --- a/scripts/generate-playwright-summary.js +++ b/scripts/generate-playwright-summary.js @@ -71,7 +71,7 @@ function determineIssueNumber({ context }) { context.payload?.workflow_run?.pull_requests?.[0]?.number; if (prFromPayload) return prFromPayload; } else { - throw new Error("This script should only be run in a workflow_run") + throw new Error("This script should only be run in a workflow_run"); } return null; From df785a8bd18d3ead137583d86c93ca19e419d7cc Mon Sep 17 00:00:00 2001 From: Will Chen Date: Wed, 17 Dec 2025 22:15:50 -0800 Subject: [PATCH 3/5] Fix MCP e2e test (#1980) > [!NOTE] > [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit c8f494513ae9b2fedda833aeda41ed660b584f16. Configure [here](https://cursor.com/dashboard?tab=bugbot). --- e2e-tests/helpers/test_helper.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/e2e-tests/helpers/test_helper.ts b/e2e-tests/helpers/test_helper.ts index 2fcdf1d..7dd29cf 100644 --- a/e2e-tests/helpers/test_helper.ts +++ b/e2e-tests/helpers/test_helper.ts @@ -341,7 +341,11 @@ export class PageObject { async selectChatMode(mode: "build" | "ask" | "agent") { await this.page.getByTestId("chat-mode-selector").click(); - await this.page.getByRole("option", { name: mode }).click(); + await this.page + .getByRole("option", { + name: mode === "agent" ? "Build with MCP (experimental)" : mode, + }) + .click(); } async openContextFilesPicker() { From 656b6cb4a2c1441c36847b4654cb3c3970293625 Mon Sep 17 00:00:00 2001 From: Will Chen Date: Wed, 17 Dec 2025 22:19:37 -0800 Subject: [PATCH 4/5] fix thinking budget e2e (#1981) --- e2e-tests/fixtures/engine/1.md | 1 + ...nking_budget.spec.ts_thinking-budget-2.txt | 8 +++++++ ...nking_budget.spec.ts_thinking-budget-4.txt | 16 +++++++++++++ ...nking_budget.spec.ts_thinking-budget-6.txt | 24 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 e2e-tests/fixtures/engine/1.md diff --git a/e2e-tests/fixtures/engine/1.md b/e2e-tests/fixtures/engine/1.md new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/e2e-tests/fixtures/engine/1.md @@ -0,0 +1 @@ +1 diff --git a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-2.txt b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-2.txt index 4334f60..f0db542 100644 --- a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-2.txt +++ b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-2.txt @@ -8,6 +8,14 @@ "role": "system", "content": "[[SYSTEM_MESSAGE]]" }, + { + "role": "user", + "content": "tc=1" + }, + { + "role": "assistant", + "content": "1" + }, { "role": "user", "content": "[dump] hi" diff --git a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-4.txt b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-4.txt index aa87e68..d2ee45a 100644 --- a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-4.txt +++ b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-4.txt @@ -8,6 +8,22 @@ "role": "system", "content": "[[SYSTEM_MESSAGE]]" }, + { + "role": "user", + "content": "tc=1" + }, + { + "role": "assistant", + "content": "1" + }, + { + "role": "user", + "content": "[dump] hi" + }, + { + "role": "assistant", + "content": "[[dyad-dump-path=*]]" + }, { "role": "user", "content": "[dump] hi" diff --git a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-6.txt b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-6.txt index 7118400..b28ba32 100644 --- a/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-6.txt +++ b/e2e-tests/snapshots/thinking_budget.spec.ts_thinking-budget-6.txt @@ -8,6 +8,30 @@ "role": "system", "content": "[[SYSTEM_MESSAGE]]" }, + { + "role": "user", + "content": "tc=1" + }, + { + "role": "assistant", + "content": "1" + }, + { + "role": "user", + "content": "[dump] hi" + }, + { + "role": "assistant", + "content": "[[dyad-dump-path=*]]" + }, + { + "role": "user", + "content": "[dump] hi" + }, + { + "role": "assistant", + "content": "[[dyad-dump-path=*]]" + }, { "role": "user", "content": "[dump] hi" From 32093a4cbad2be265386c8af9314305d864158be Mon Sep 17 00:00:00 2001 From: Will Chen Date: Wed, 17 Dec 2025 22:20:14 -0800 Subject: [PATCH 5/5] Bump to v0.31.0-beta.1 (#1978) > [!NOTE] > Bumps app version to 0.31.0-beta.1 in package.json. > > Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4ee3fcee216041f734d39323489514021b90b042. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot). --- ## Summary by cubic Bumps the app version from 0.30.0-beta.1 to 0.31.0-beta.1 to prepare the next beta release. Written for commit 4ee3fcee216041f734d39323489514021b90b042. Summary will update automatically on new commits. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e6e216e..efc9c7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "dyad", "productName": "dyad", - "version": "0.30.0-beta.1", + "version": "0.31.0-beta.1", "description": "Free, local, open-source AI app builder", "main": ".vite/build/main.js", "repository": {