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/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() { 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" diff --git a/package.json b/package.json index 37a88ec..e249086 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": { 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; 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",