- 15 1月, 2026 3 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Enhances the Supabase projects selector with a manual refresh and improved states. > > - Adds `RefreshCw` icon button to `SupabaseConnector` to `refetchProjects()`; shows spinner while `isFetchingProjects` and disables the button > - Displays error state from `projectsError` with a `Retry` button to refetch > - Adjusts header layout to place refresh control alongside "Add Organization" > - Updates imports to include `RefreshCw` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ce452519cd5a90fec693969c559247e068d795f5. 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 Added a refresh button to the Supabase Projects header to reload the project list on demand. The button disables while fetching and shows a spinning icon during refresh. <sup>Written for commit ce452519cd5a90fec693969c559247e068d795f5. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > - **Add** `bugbot-trigger.yml` workflow to auto-comment `"@BugBot run"` on `pull_request_target` events using a PAT, enabling BugBot on new/updated PRs. > - **Update** `claude-pr-review.yml` by removing the contributor `if` filter so Claude reviews run for all PRs; existing environment, permissions, and checkout behavior maintained. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6fc76ece796cf1f8bd7fc45e6e97c4f86a94b12b. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Introduces initial UI theming with per-app theme selection and a default theme in settings. Theme rules are added to prompts so generated UIs follow the chosen design. - **New Features** - Theme picker in AuxiliaryActionsMenu with app-specific selection and visual check. - New hooks: useThemes and useAppTheme (React Query) with IPC get/set handlers. - Themes data and prompts added (includes “No Theme” and “Default Theme”). - Theme prompt appended to system and local-agent prompts; included in token counting. - Settings now support a default theme (selectedThemeId) applied to new apps. - **Migration** - Adds apps.theme_id (NULL means no theme). <sup>Written for commit f4ef96ccd02a3d9148bd4e570d2204c7b5a12c10. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces initial theming with persistence and prompt influence. > > - UI: Adds Themes submenu in `AuxiliaryActionsMenu` (supports "No Theme" and `default`, app-specific or global via settings) > - Data/IPC: New `apps.theme_id` column (nullable), hooks `useThemes`/`useAppTheme`, IPC handlers (`get-themes`, `set-app-theme`, `get-app-theme`) wired through `ipc_client`, `ipc_host`, and `preload` > - Settings: Adds `selectedThemeId` with default applied to newly created apps > - Prompting: Appends theme prompt (`getThemePrompt`) to system/local-agent prompts and token counting > - Integration: `ChatInput` passes `appId` to menu; `schema.ts` updated > - Tests: E2E verifies default and per-app theme persistence > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ee9ba34aad48f8dc49013e01247cfdcff1b77fad. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
- 14 1月, 2026 12 次提交
-
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Switched image attachment e2e tests to use Playwright’s native file chooser instead of setting hidden inputs. This reduces flakiness and matches real user behavior. - **Bug Fixes** - Wait for the file chooser before clicking the menu item, then set files via the dialog. - Removed hidden input selectors and Escape key handling. - Updated home chat, chat, and upload-to-codebase tests. <sup>Written for commit 7afe922fa377ad29f0af880ed466a9ed31e0c602. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 7a0792c4c481510e0153cc120efe901855289825. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Graduates the local agent feature from experiment and simplifies related settings and tests. > > - Agent v2 (local-agent) is now available to all Pro users by removing `experiments.enableLocalAgent` gating in `ChatModeSelector` > - Always render the "Agent Permissions (Pro)" section in Settings and remove the "Enable Agent v2" experiment toggle > - `SettingsList` no longer filters sections by settings; always includes `agent-permissions` > - Mark `experiments.enableLocalAgent` as DEPRECATED in the schema > - E2E: stop toggling local agent in setup; retain model selection logic for local-agent scenarios > - Minor: adjust test fixture name regex in fake LLM responses handler > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 39bdf8ef4bea64909bb5cd623e1fdd559d156692. 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 Graduate the Local Agent (Agent v2) from the experiments flag. It’s now available to Pro users by default and the settings reflect this. - **Refactors** - Show Local Agent in ChatModeSelector for Pro without experiment gating. - Always show the Agent Permissions section; label updated to “Agent Permissions (Pro)”. - Removed the “Enable Agent v2” toggle from Experiments. - Marked experiments.enableLocalAgent as DEPRECATED in the schema. - Cleaned up e2e helper to stop toggling local agent mode; minor test regex fix. - **Migration** - No action needed. The old experiments.enableLocalAgent flag is ignored. <sup>Written for commit 39bdf8ef4bea64909bb5cd623e1fdd559d156692. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Adeniji Adekunle James 提交于
<!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Add Git collaboration with branch management and collaborator controls. Improves GitHub sync with conflict handling, fetch/pull/rebase/merge support, and safer push options. - **New Features** - Branch management: create, switch, rename, delete, and merge branches; list local/remote; detect conflicts; rebase continue/abort and merge abort. - Collaborators: list, invite, and remove collaborators in Publish and App Details when connected. - Sync improvements: fetch/pull (with optional rebase), merge, conflict inspection, branch rename, and reset; push supports force and force-with-lease. - UI updates: branch combobox with refresh/create actions; integrated Branch and Collaborator managers; clearer push success feedback. - **Tests** - New e2e: covers creating, switching, renaming, merging, and deleting branches. - Updated GitHub e2e and snapshots for branch UI and push success message. - Test helper adds “publish” mode; fake GitHub server adds collaborator endpoints and seed data. <sup>Written for commit a9a3166d3742b0fe3e672d69a12531b443b653f9. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces comprehensive Git collaboration features with UI, IPC, and test coverage. > > - **Branch management UI**: `GithubBranchManager` for create/switch/rename/delete/merge, refresh, source branch selection, conflict banners; integrated into `GitHubConnector` and Publish/App Details panels > - **Collaborator management UI**: `GithubCollaboratorManager` to list/invite/remove collaborators when connected > - **Enhanced sync flow**: `GitHubConnector` supports rebase status, abort/continue, “Rebase and Sync”, safe force push (`force-with-lease`), structured errors, auto-sync deduping > - **New IPC/git ops**: handlers and client methods for `fetch`, `pull`, `rebase` (abort/continue), `merge` (abort), `branch` CRUD, list local/remote branches, conflict listing, git state checks; `git_utils` adds native/isomorphic implementations and conflict/state detection > - **Testing & mocks**: New e2e `git_collaboration.spec.ts` (branch lifecycle, collaborators), updated GitHub specs/snapshots; fake GitHub server adds collaborator endpoints and push event tweaks > - **Plumbing**: Preload exposes new GitHub IPC channels; types extended (`GithubSyncOptions`, git param types) > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 210af660701490139d75b1be86c55e9782056ade. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > **Enhancements** > - `list_files` now accepts `recursive` (default: false); non-recursive uses `/*`, recursive uses `/**`; consent preview/XML reflect recursion and UI title shows "(recursive)". > - UI: `dyad-list-files` renders as a collapsible panel with chevron toggle and abbreviated file list with total count; wired through `DyadMarkdownParser`. > > **Safety/Infra** > - Validates directory input via `resolveDirectoryWithinAppPath` to prevent traversal (Windows/POSIX cases covered) with unit tests. > - Fake LLM server resets fixture turn counting per prompt (counts tool results after last user message) for stable multi-prompt E2E. > - E2E: adds fixtures and snapshots for recursive and non-recursive modes; shorter toast duration in test mode to speed tests. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3f366934b050a583ae66168e4c924a97a5529f51. 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 Add recursive support to the local agent list_files tool and make results collapsible in the chat UI. Includes E2E coverage and a fix to fixture turn counting for stable multi-prompt runs. - **New Features** - list_files accepts recursive (default: false); uses "/*" for non-recursive and "/**" for recursive. - Consent preview/XML and UI reflect recursion; collapsible panel shows abbreviated list with total count. - Recursive attribute wired through the markdown parser; added E2E tests and snapshots for both modes. - **Bug Fixes** - Validate directory paths to prevent path traversal outside the app directory. - Fake LLM server counts tool results after the last user message to reset turns per prompt. - Shorter toast duration in test mode to speed up E2E runs. <sup>Written for commit 3f366934b050a583ae66168e4c924a97a5529f51. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Fixes auto/local-agent model routing and provider-specific behavior. > > - Refactors `llm_engine_provider` to require `chatParams { providerId }`; wires it into custom fetch and model constructors (`provider`, `chatModel`, `responses`) > - Updates `get_model_client` to pass `providerId`, tag fallback models (`openai`, `anthropic`, `google`), and use `responses()` for OpenAI in `local-agent` and auto fallback > - Adds Responses API support to fake LLM server (`/v1/responses`) with streaming SSE handler and dump generation > - Extends test helper to parse Responses API dumps (`body.input`) and adds `localAgentUseAutoModel` setup flag > - New e2e test `local_agent_auto.spec.ts` with snapshot verifying request payload via Responses API > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e5b02d253c9842f14da0099bb11e1b05548e9245. 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 Fixes auto model selection in the Dyad engine by passing the correct providerId with each request. Ensures provider-specific options are applied and avoids incorrect defaults. - **Bug Fixes** - Pass providerId to chat/responses models and into the fetch layer for getExtraProviderOptions. - Remove originalProviderId from createDyadEngine; add ChatParams and update provider API signatures. - Tag fallback models with providerId (openai, anthropic, google) and forward model.provider in getModelClient. <sup>Written for commit e5b02d253c9842f14da0099bb11e1b05548e9245. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Improves the local agent system prompt for safer, more consistent edits. > > - Adds a structured `development_workflow` (Understand → Plan → Implement → Verify → Finalize) outlining use of `grep`/`code_search`, `read_file`, `update_todos`, `run_type_checks`, and `set_chat_summary` > - Refines `tool_calling_best_practices` to prefer `edit_file` over `write_file`, formats tool names with backticks, and reiterates focused, minimal, and error-tolerant edits > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a649625cb856a04afe8e61cb3df832637249569e. 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 Clarified the local agent prompt with a structured development workflow and clearer tool guidance to make edits safer and more consistent. - **New Features** - Added a development_workflow with steps: Understand → Plan → Implement → Verify → Finalize (using grep/code_search, read_file, update_todos, run_type_checks, set_chat_summary). - Updated tool_calling_best_practices to prefer edit_file over write_file and formatted tool names for clarity. <sup>Written for commit a649625cb856a04afe8e61cb3df832637249569e. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 3cc11d352d12a0f51da474e5e3a281c128f2a9c4. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds a semantic code search tool to the local agent with an interactive UI card, so the agent can find relevant files by meaning, not just text. Includes E2E coverage for the full flow. - New Features - code_search tool: gathers project files, calls Dyad Engine /tools/code-search, and returns relevant file paths. - Streams a dyad-code-search tag while running; shows pending state in the UI. Requires a Dyad Pro API key. - DyadCodeSearch UI: collapsible card with query preview, results, and loading indicator. - Markdown parser now passes query and state; tool registered in tool_definitions. - Tests - Added E2E spec, fixture, and snapshot for local-agent code search. - Fake LLM server includes a mock /engine/v1/tools/code-search endpoint. <sup>Written for commit 3cc11d352d12a0f51da474e5e3a281c128f2a9c4. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > - **Agent tool consent:** Add `"never"` to `AgentToolConsent` schema, update imports to `lib/schemas`, surface "Never allow" in settings UI, and prevent consent prompts/execution for tools marked `"never"` (skipped in `buildAgentToolSet`; error if prompted). > - **Type checks tool:** Remove settings gate so `run_type_checks` is available by default; keep default consent `"always"`; reflected in e2e tool list. > - **UI/UX:** Truncate long tool descriptions to 100 chars in Agent Tools settings. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 50e3ef56792adc578aaefcdf7a61246344a475ad. 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 Enables the Type Checks tool by default in agent mode and adds a “never” consent option to permanently block tools. Agents now skip any tool marked “never”. - **New Features** - Added “Never allow” in Agent Tools settings. - Consent schema now supports ask, always, never. - Agent tool set excludes tools with “never”. - Type Checks tool is available by default (no longer gated by enableAutoFixProblems). - Truncated long tool descriptions in settings to 100 chars. - **Refactors** - Moved AgentToolConsent type to lib/schemas and updated imports. <sup>Written for commit 50e3ef56792adc578aaefcdf7a61246344a475ad. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Adds an informational toast to guide users when enabling the new agent mode. > > - New `LocalAgentNewChatToast` with dismiss and "Never show again" actions (auto-dismiss after 8s) > - `ChatModeSelector`: when switching to `local-agent` on `/chat` with existing messages, show the toast using `sonner`; uses TanStack Router for route detection and Jotai chat state > - `UserSettingsSchema`: adds `hideLocalAgentNewChatToast` to persist user preference > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b07beac9d13b87b2e08ea1a9a376994148beb6c9. 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 Shows a friendly info toast when switching to Agent mode on the chat page, encouraging a fresh chat for better results. Includes dismiss and “never show again” options that respect user preferences. - **New Features** - Added LocalAgentNewChatToast, shown when selecting local-agent on /chat with existing messages. - “Never show again” persists via hideLocalAgentNewChatToast in UserSettingsSchema. - Uses TanStack Router to detect the chat route; toast auto-dismisses after 8s. <sup>Written for commit b07beac9d13b87b2e08ea1a9a376994148beb6c9. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Skips problematic Windows runs for select e2e tests to stabilize CI. > > - Switches `mcp.spec.ts`, `security_review.spec.ts`, and `supabase_migrations.spec.ts` tests to `testSkipIfWindows`, wrapping the calculator, security review (incl. edit/use knowledge), and supabase migrations (incl. native git) cases > - Cleans up imports accordingly; no application code changes > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b3ce59d4c6da6bfbc2888636cc239ec1ed3cc6ba. 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 Skip failing Windows-only e2e tests to stabilize CI; non-Windows runs are unchanged. - **Bug Fixes** - Use testSkipIfWindows for: - mcp.spec.ts: “mcp - call calculator” - security_review.spec.ts: “security review - edit and use knowledge” - supabase_migrations.spec.ts: “supabase migrations” - No test logic changes; only conditional skip on Windows. <sup>Written for commit b3ce59d4c6da6bfbc2888636cc239ec1ed3cc6ba. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces fast, scoped code search in local-agent mode and renders results inline in chat. > > - Adds `grep` tool (ripgrep-backed) with include/exclude globs and optional case sensitivity; returns `path:line: text` matches > - New `DyadGrep` component and `DyadMarkdownParser` support for `dyad-grep`; attribute parsing updated to allow hyphenated names > - Extracts ripgrep helpers to `ipc/utils/ripgrep_utils.ts` and refactors `app_handlers` to use them > - Registers tool in local agent tool set > - E2E coverage: new fixture, Playwright spec, and ARIA snapshots validating two searches and rendered output > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 35cd925caf321c1c987b636d9539aed465284f1b. 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 a grep tool to the local agent using ripgrep and a new <dyad-grep> UI to show results in chat. Enables fast, scoped code searches with include/exclude globs and case sensitivity. - **New Features** - New local-agent tool grep (ripgrep-backed) that returns file:line: text matches; case-insensitive by default with include_pattern, exclude_pattern, and case_sensitive options. - New DyadGrep chat component and parser support (<dyad-grep>) with collapsible results, progress/aborted states, and copyable output. - Shared ripgrep utils (executable path, size limit, default exclude globs) extracted and reused; tool registered in tool_definitions. - **Tests** - Added E2E spec for grep in local-agent mode with ARIA snapshots. - New fixture driving two searches and validating rendered results. <sup>Written for commit 35cd925caf321c1c987b636d9539aed465284f1b. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
-
- 13 1月, 2026 10 次提交
-
-
由 Adeniji Adekunle James 提交于
Closes #1987 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds file content search to Code View and a fullscreen toggle to focus on code. Users can search across file contents with highlights and snippets, and jump to lines. Addresses Linear #1987. - New Features - File Tree search: debounced input, content search via ripgrep (1MB max per file), highlights in names, expandable snippets with line numbers, match count, and empty/error states. - Fullscreen mode: toggle in toolbar, Esc to exit, locks page scroll. - IPC: search-app-files handler using ripgrep (via @vscode/ripgrep; binary bundled in Forge extraResources) with UTF-8-safe snippet extraction; exposed via IpcClient and preload. - Hook: useSearchAppFiles with React Query. - UI/Types: FileTree now takes appId; added AppFileSearchResult type; selectedFile supports line for navigation. - Tests: e2e covers content search and navigating to the matched line. - CI: set GITHUB_TOKEN to fetch ripgrep binaries. <sup>Written for commit 97142126c549932d58908df5c842f44ae182c94e. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces fast file content search in Code View and fullscreen viewing, wiring UI to IPC and packaging for bundled ripgrep. > > - UI: `FileTree` now supports debounced content search with highlights, expandable snippets, match counts, and line navigation; `selectedFile` carries `line`; `FileEditor` accepts `initialLine` and jumps to it; `CodeView` adds fullscreen toggle (Esc to exit) > - IPC: New `search-app-files` handler using `@vscode/ripgrep` with UTF-8-safe snippets; exposed via `preload` and `IpcClient.searchAppFiles`; adds `AppFileSearchResult` type > - Packaging/CI: Bundle ripgrep binaries via Forge `extraResource` and set `GITHUB_TOKEN` in CI for ripgrep install; add `@vscode/ripgrep` dependency; bump version to `0.33.0-beta.2` > - Tests: New Playwright e2e verifies search results and navigation to matched line > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 97142126c549932d58908df5c842f44ae182c94e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by:
Will Chen <willchen90@gmail.com>
-
由 Will Chen 提交于
fix test breakage from https://github.com/dyad-sh/dyad/pull/2155 <!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 22342fd91b4708311796b51552b0106acea66b9b. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adjusted chat mode selection in e2e tests to match updated UI labels and prevent failures. Uses "Agent v2" and "Build with MCP" instead of the old "(experimental)" labels. <sup>Written for commit 22342fd91b4708311796b51552b0106acea66b9b. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Adds analytics context to chat submissions. > > - Update `ChatInput.tsx` to capture `chat:submit` with `{ chatMode: settings?.selectedChatMode }` > - Update `HomeChatInput.tsx` to capture `chat:home_submit` with `{ chatMode: settings?.selectedChatMode }` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 2b84eb984bd1c5368c1aeba03db5fd1a2f431bd9. 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 Add chatMode to PostHog analytics on chat submission to track which chat mode was used. Applies to chat:submit and chat:home_submit events. <sup>Written for commit 2b84eb984bd1c5368c1aeba03db5fd1a2f431bd9. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces a reusable `ExperimentalBadge` and refines chat mode labels in `ChatModeSelector`. > > - Adds `ExperimentalBadge` and displays it next to `Agent v2` > - Removes "(experimental)" suffix from MCP mode title and tweaks layout (flex with gap) for mode headers > - Updates `Agent v2` description to "Better at bigger tasks and debugging" > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f513f856f7a223fddfadbb4b0762bf9998295414. 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 Added an Experimental badge component and applied it to Agent v2 in ChatModeSelector. Removed "(experimental)" from labels and updated Agent v2 description to "Better at bigger tasks and debugging" for clearer guidance. <sup>Written for commit f513f856f7a223fddfadbb4b0762bf9998295414. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 4ef340ba4e26fc3d41a2ea5fea9772ba669f3bd0. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
See https://github.com/dyad-sh/dyad/issues/2113 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Automatically ensures Git can operate in `dyad-apps` when native Git is enabled and centralizes base path resolution. > > - Adds `gitAddSafeDirectory(directory)` in `git_utils.ts` to idempotently append to global `safe.directory` (uses `normalizePath`, logs outcomes) > - On startup (`main.ts`), calls `gitAddSafeDirectory(getDyadAppsBaseDirectory())` without awaiting > - Introduces `getDyadAppsBaseDirectory()` and updates `getDyadAppPath()` to use it, consolidating test/prod path logic > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 99911c273fba66190218ecdb1df40d61f12d49a5. 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 Automatically add the dyad-apps directory to Git’s global safe.directory at startup when native Git is enabled. This prevents “detected dubious ownership” errors on Windows and unblocks Git operations. - New Features - Added gitAddSafeDirectory(directory) to run git config --global --add safe.directory <dir> with logging, normalizing paths and skipping duplicates. - On app ready, if settings.enableNativeGit, call gitAddSafeDirectory(getDyadAppsBaseDirectory()) without awaiting to keep startup fast. - Refactors - Introduced getDyadAppsBaseDirectory() and updated getDyadAppPath() to use it, centralizing base path logic for test and prod. <sup>Written for commit 99911c273fba66190218ecdb1df40d61f12d49a5. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
Addresses #2147 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Adds robust retry handling for Supabase API interactions to reduce flakiness on HTTP 429. > > - Introduces `RateLimitError`, `isRateLimitError`, `retryWithRateLimit` (defaults: 6 retries, 2s base, capped, jitter, scoped logging) and `fetchWithRetry` > - Applies retries to key callsites: project API keys, schema/queries, secrets, orgs/members/details, projects, project logs, branches, function deploy/delete, bulk update, and SQL execution > - Standardizes non-429 fetch failures to throw `SupabaseManagementAPIError` to preserve response context > - Improves function deploy by rebuilding `FormData` per attempt and converting 429 to `RateLimitError` > - Adds thorough unit tests covering error detection, backoff behavior, options, and retry exhaustion > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit eaf86cffb2d2b3a3771e8607a52f4e04af630ecd. 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 Add automatic retries for Supabase API calls on HTTP 429 using exponential backoff with jitter to reduce flakiness and improve reliability. Addresses #2147 by applying retries across key management and context callsites and adding thorough tests. - **New Features** - Added retryWithRateLimit (defaults: 8 retries, 2s base delay, 30s max, 10% jitter, scoped logging), isRateLimitError, RateLimitError, and fetchWithRetry. - Applied retries to fetch-based endpoints and runQuery operations: orgs/members/details/projects, project logs, schema/table/function queries, secrets/API keys, branches, function deploy/delete and bulk update, and SQL execution. - Standardized error handling by throwing SupabaseManagementAPIError for failed fetches to preserve response details. - Added unit tests covering detection, backoff timing, options, retry exhaustion, and fetchWithRetry behavior. <sup>Written for commit c1fbffaf9c559c7f43a6999f4160a81b97ed9eaf. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit ddc1ebc593ed63e1a3508c4ebc99ca49d3c9943f. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Added a Clear Logs button to the System Messages console to remove all logs for the selected app. Renamed the filters button to “Clear Filters” and updated e2e tests. - **New Features** - Console adds onClearLogs handler that calls IpcClient.clearLogs(selectedAppId), then clears appConsoleEntriesAtom; shows a toast on error. - E2E test verifies “Clear Logs” removes all entries; existing test updated to expect “Clear Filters” label. <sup>Written for commit cc7cafc267e13e05cdb6cc45b3122ac572fcb048. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 12 1月, 2026 1 次提交
-
-
由 Mohamed Aziz Mejri 提交于
closes #2127 This PR includes - Fixing the regression introduced in the beta release - Adding the plus button to HomeChatInput I will create a follow-up PR that makes the e2e test more realistic <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a plus actions menu to HomeChatInput for attachments and fixes the beta regression that prevented attaching files in home chat. - **New Features** - Added AuxiliaryActionsMenu to HomeChatInput with an “Attach files” submenu; hides context picker and token toggle when not needed. - Made menu props optional (showTokenBar/toggle) and added hideContextFilesPicker, improving reuse across inputs. - **Bug Fixes** - Restored file upload by handling menu item onSelect and closing the submenu after selection; inputs reset to allow re-uploading the same file. - Updated the e2e test to open the menu, hover “Attach files,” upload via the file input, and close with Escape. <sup>Written for commit 3db5abc98c9f968cb04eb355a586209e4725be30. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces a consolidated plus “AuxiliaryActionsMenu” for file/context actions in both chat inputs and fixes attachment menu interactions. > > - Adds `AuxiliaryActionsMenu` with optional `showTokenBar/toggle`, `showContextFilesPicker`, and `isStreaming`; disables attach submenu while streaming and conditionally shows context picker and token toggle > - Refactors `FileAttachmentDropdown` to render only menu items + hidden inputs, use `onSelect` to trigger file pickers, clear input values, and close parent via `onMenuClose` > - Integrates the new menu into `HomeChatInput` and `ChatInput`; keeps `ChatInputControls` and hides context picker where not needed > - Updates e2e tests to interact with the new menu, including attach-as-context, upload-to-codebase, and drag-and-drop flows; standardizes snapshots and closes menus via Escape > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6b0d1f24b069a9e9b066f8dba59a8f43af318a08. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
- 10 1月, 2026 6 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces a TypeScript type-check capability and a compact status UI in chat. > > - Adds `run_type_checks` tool (registered in `tool_definitions`) that runs workspace or path-scoped checks via existing `generateProblemReport`; formats results as count plus `file:line:col` lines > - Streams progress and completion using `dyad-status` XML, gated by `enableAutoFixProblems`; consent preview reflects targeted paths > - Implements `DyadStatus` component for pending/success/error display with expandable details and registers `dyad-status` in `DyadMarkdownParser` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 8e308551339675803703f01d3ef2018972904b01. 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 Add an agent tool to run TypeScript type checks and stream results to chat using a new dyad-status UI block. Lets the agent scope checks to specific files or folders and shows clear progress and outcomes. - New Features - Added run_type_checks tool: runs TypeScript checks; accepts optional paths to limit scope. - Streams progress and results via a dyad-status block in chat; shows pending/success/error states. - Formats output with a count and file:line:col messages, or “No type errors found.” - Enabled only when Auto Fix Problems is on; consent preview lists targeted paths. - Added DyadStatus component and registered the dyad-status custom tag in DyadMarkdownParser. <sup>Written for commit 8e308551339675803703f01d3ef2018972904b01. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:
greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces live Agent to-do tracking during local-agent runs. > > - **New tool:** `update_todos` (merge/replace support) added to agent toolset; updates per-turn `todos` in `AgentContext` and broadcasts via `onUpdateTodos` > - **IPC plumbing:** New `agent-tool:todos-update` channel allowlisted in `preload`; `IpcClient` adds `onAgentTodosUpdate` and `onChatStreamStart` hooks and forwards updates; main handler emits updates and initializes `ctx.todos` > - **Types:** Adds `AgentTodo` and `AgentTodosUpdatePayload`; extends `AgentContext` with `todos` and `onUpdateTodos` > - **UI/state:** New `agentTodosByChatIdAtom`; `TodoList` component; `ChatInput` renders live todos; renderer subscribes to updates and clears todos on stream start/end > - **Tests:** E2E snapshot updated with `update_todos` tool schema > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e2bc12f172b2b6ae15c3514e7e9c4d2b693a6e99. 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 an Agent TODOs tool and UI to track task progress during local agent runs. Live updates stream to the chat and display in a collapsible todo list, which clears when a new stream starts. - **New Features** - Added update_todos tool with merge/replace support and status updates; broadcasts via onUpdateTodos. - Introduced IPC channel agent-tool:todos-update with IpcClient.onAgentTodosUpdate and preload whitelist. - Defined AgentTodo and AgentTodosUpdatePayload types. - Added agentTodosByChatIdAtom and cleanup on chat stream start. - Implemented TodoList UI and wired into ChatInput to show live progress and counts. <sup>Written for commit e2bc12f172b2b6ae15c3514e7e9c4d2b693a6e99. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:
cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Improves local-agent auto mode with robust model routing and updates tests accordingly. > > - Centralizes pro model selection in `getProModelClient`, routing OpenAI via `responses` in local-agent and adding local fallback across `GPT_5.2`, `Claude Sonnet 4.5`, and `Gemini 3 Flash` > - Standardizes model IDs via constants and updates provider/thinking flags (adds reasoning for `auto` provider) > - e2e: introduce `clickRunSecurityReview()` helper; select Anthropic model in local-agent; refresh snapshots to use `reasoning_effort` and reflect non-OpenAI model > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b3fd078d2b893ebc6d011365295948a17ea58c4f. 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 Enables reliable local-agent auto mode with smart model fallback and routes OpenAI models through Responses to keep reasoning features working. Standardizes model names with constants. - **New Features** - Auto mode falls back across GPT‑5.2 (OpenAI), Claude Sonnet 4.5 (Anthropic), and Gemini 3 Flash (Google). - OpenAI models use the Responses API to support thinking summaries and full functionality. - Auto provider enables reasoning options in local-agent. - **Refactors** - Centralized pro model routing in getProModelClient and avoids free variants. - Added constants for model IDs (GPT_5_2_MODEL_NAME, SONNET_4_5, GEMINI_3_FLASH). <sup>Written for commit b3fd078d2b893ebc6d011365295948a17ea58c4f. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Updates E2E snapshot for Supabase stale UI to match current UI. > > - Refreshes `supabase_stale_ui.spec.ts_supabase---stale-ui-2.aria.yml` with new elements: `button "Continue"`, `button "Undo"`, additional imgs, and texts like `test-model` and `less than a minute ago` > - Removes prior instructional paragraph about clicking the chat suggestion > - No app logic changes; test snapshot only > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5a481c54b412432d8b892a0b344107cb96c1bb25. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Updates AI SDK imports to use the top-level `ai` package instead of `node_modules/ai/dist`. > > - In `prepare_step_utils.ts` and its tests, replace imports of `ImagePart`, `ModelMessage`, `TextPart`, and `UserModelMessage` to come from `ai` > - No functional code changes beyond import paths > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 117078577aa8f7a86564f8a133c2708601f4acb1. 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 Replaced deep imports from node_modules/ai/dist with the ai package entrypoint to standardize and simplify module imports. This avoids brittle paths and improves build compatibility. <sup>Written for commit 117078577aa8f7a86564f8a133c2708601f4acb1. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > **Fix stable user-message injection across steps** > > - Extracts `prepareStepMessages` logic into `prepare_step_utils` with `transformContentPart`, `processPendingMessages`, and `injectMessagesAtPositions` to track injected messages with `insertAtIndex` and FIFO `sequence`, then re-inject them each step at the same positions > - Updates `local_agent_handler` to use `prepareStepMessages`, maintaining `pendingUserMessages` and accumulated `allInjectedMessages` > > **Web crawl behavior update** > > - `web_crawl` now requires a screenshot and injects only screenshot + markdown (HTML removed); clone instructions emphasize screenshot as primary visual reference > > **Tests** > > - Adds comprehensive unit tests for the new utilities and an integration-style multi-step simulation validating stable ordering and reinjection > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3b02b73cf25b497a2d09ab6239ec9e3598ae823e. 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 Fixes incorrect injection of web-crawl user messages across agent steps. Messages are now re-injected at stable positions each step so screenshot and markdown context persist across tool rounds. - **Bug Fixes** - Track injected user messages with an insertion index and re-inject them every step (sorted in reverse) to keep order and prevent loss. - Web crawl now requires a screenshot and injects only screenshot + markdown (HTML removed). Updated clone instructions to emphasize the screenshot. <sup>Written for commit 3b02b73cf25b497a2d09ab6239ec9e3598ae823e. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 09 1月, 2026 8 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces Responses API support for local-agent flows and aligns OpenAI reasoning options. > > - In `get_model_client.ts`, when using Dyad Pro and `selectedChatMode` is `"local-agent"` with OpenAI, route to `provider.responses(...)` instead of chat model > - In `llm_engine_provider.ts`, add `responses(modelId)` returning `OpenAIResponsesLanguageModel`, refactor request handling into `createDyadFetch()`, and expose `provider.responses` > - In `thinking_utils.ts`, for OpenAI in `local-agent` mode, send `{ reasoning: { summary: "detailed", effort: "medium" } }`; otherwise keep `reasoning_effort: "medium"` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f434775c1c42fd9a647b5ee0e51cf5aecc7a7c8f. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Improves the Supabase integration completion UX by adding an actionable control that advances the chat flow. > > - Adds a `Continue` button (using `useStreamChat`) that sends `"Continue. I have completed the Supabase integration."` to the active chat via `selectedChatIdAtom` > - Disables the button while `isStreaming` and shows an error toast if no chat is available > - Removes the prior instructional text about clicking a chat suggestion > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b384d8756c6861c7682b422883314eea522cc060. 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 a Continue button to the Supabase integration flow that sends a “Continue. I have completed the Supabase integration.” message to the current chat, so users can proceed without hunting for the chat suggestion. - **New Features** - Added Continue button that calls streamMessage with the active chatId and disables while streaming. - Shows an error toast if no chat is available. <sup>Written for commit b384d8756c6861c7682b422883314eea522cc060. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:
gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
-
由 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. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > - **Image attachments handling:** In `prepareMessageWithAttachments`, images are now read, converted to base64, and included as `image` (base64) with `mediaType` instead of raw Buffers, ensuring proper JSON serialization for `aiMessagesJson`. > - **Storage limit increase:** `MAX_AI_MESSAGES_SIZE` raised from 1MB to 10MB in `ai_messages_utils.ts` to accommodate larger serialized message payloads. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b81483775dc7e6535c7396f417818eb638003248. 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 Fixes image attachments by storing images as base64 with a mediaType so they serialize to JSON correctly. Also increases ai_messages_json size limit to 10MB to prevent save failures. - **Bug Fixes** - Store .jpg, .jpeg, .png, .gif, .webp as base64 and set mediaType (e.g., image/jpeg, image/png) for safe JSON serialization. - Raise MAX_AI_MESSAGES_SIZE from 1MB to 10MB. <sup>Written for commit b81483775dc7e6535c7396f417818eb638003248. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces website crawling for cloning workflows and updates tool I/O to support multimodal follow-ups while keeping tool results text-only for model compatibility. > > - Adds `web_crawl` tool (consent preview, XML marker, Dyad Engine call requiring Dyad Pro API key) that returns HTML/markdown/screenshot and appends cloning instructions plus screenshot and content snippets via `appendUserMessage` > - Updates tool system: new `ToolResult` types, `UserMessageContentPart`, and conversion to AI SDK V3 (`convertToolResultForAiSdk`); tool `execute` now returns `ToolResult` > - Enhances streaming: handler tracks `pendingUserMessages` and injects them between steps via `prepareStep` to deliver images/content to the model > - Registers `web_crawl` in `TOOL_DEFINITIONS`; e2e snapshot updated to include the new tool > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0205e38c2f067a1c2307b17a1397e4dcf3ce422d. 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 a web_crawl agent tool to crawl a URL and return page content and a screenshot for cloning. Tool results are structured text, and the screenshot is injected as a follow-up user image for multimodal models. - New Features - Added web_crawl tool with consent preview and XML marker; calls Dyad Engine /tools/web-crawl. - Returns markdown and HTML plus a screenshot URL, with clear placeholder image instructions for replication. - Introduced ToolResult (text-only) and convertToolResultForAiSdk to LanguageModelV3; updated tool execution to use it. - Added appendUserMessage and step injection to include images after tool results. - Registered the tool in TOOL_DEFINITIONS with default consent set to ask; requires a Dyad Pro API key in settings. <sup>Written for commit 0205e38c2f067a1c2307b17a1397e4dcf3ce422d. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Added a link to the DeepWiki documentation in CONTRIBUTING.md to give contributors an in-depth overview of the Dyad codebase. <sup>Written for commit 035bc8d1951dfcb99113f80953b82dc10173c66a. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Keep the + button in chat enabled while a message is streaming, so users can attach files or toggle the token bar without waiting. Removed the disabled prop from AuxiliaryActionsMenu and stopped passing disabled={isStreaming} from ChatInput. <sup>Written for commit fbe88ac6e708be9e06c9d7a8afe08a913905bddf. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Improves TypeScript check performance and dev ergonomics. > > - Switches `ts:main` from `tsc` to `tsgo` with `--incremental`; adds `--incremental` to `ts:workers` > - Adds `@typescript/native-preview` (and platform binaries) to dev deps/lockfile to support `tsgo` > - Moves lint-staged config from `package.json` to `lint-staged.config.js` and runs `npm run ts` on staged `*.ts,*.tsx` > - Updates TS configs to remove `baseUrl` and add catch‑all `paths` mapping (`"*": ["./*"]`) across `tsconfig*.json` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit d25edc6782daf89b40d7c45c3ac25e6ad5bf5ee5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-