Md Rakibul Islam Rocky
4db6d63b72
Add Google Vertex AI provider ( #1163 )
...
# Summary
* Adds first-class **Google Vertex AI provider** using
`@ai-sdk/google-vertex`.
* Supports **Gemini 2.5** models and partner **MaaS (Model Garden)**
models via full publisher IDs.
* New **Vertex-specific settings UI** for Project, Location, and Service
Account JSON.
* Implements a **“thinking” toggle** for Gemini 2.5 Flash
* Pro: always on
* Flash: toggleable
* Flash Lite: none
* Fixes *“AI not found”* for Vertex built-ins by mapping to
`publishers/google` paths.
* Hardens **cross-platform file ops** and ensures all tests pass.
---
# What’s New
### Vertex AI Provider
* Uses `@ai-sdk/google-vertex` with `googleAuthOptions.credentials` from
pasted Service Account JSON.
* Configurable **project** and **location**.
* Base URL → `/projects/{project}/locations/{location}`
* Built-ins: `publishers/google/models/<id>`
* Partner MaaS: `publishers/<partner>/models/...`
### Built-in Vertex Models
* `gemini-2.5-pro`
* `gemini-2.5-flash`
* `gemini-2.5-flash-lite`
### Thinking Behavior
* Vertex + Google marked as thinking-capable.
* Pro: always thinking
* Flash: toggle in UI
* Flash Lite: none
### Vertex Settings UI
* New **Google Vertex AI panel** for Project ID, Location, Service
Account JSON.
* Keys encrypted like other secrets.
---
# Fixes
* **Model resolution:** built-ins auto-map to
`publishers/google/models/<id>`.
* **Partner MaaS support:** full publisher IDs work directly (e.g.
DeepSeek).
* **Cross-platform paths:** normalize file ops with `toPosixPath`,
preserve `safeJoin` semantics.
---
# Why This Is Better
* Users can select **Vertex alongside other providers**.
* **More models** available through Model Garden.
* **Dedicated setup UI** reduces misconfig.
* **Thinking toggle** gives control over cost vs. reasoning depth.
---
# Files Changed
* **Provider & Models**: `language_model_helpers.ts`,
`get_model_client.ts`
* **Streaming**: `chat_stream_handlers.ts`
* **Schemas & Encryption**: `schemas.ts`, `settings.ts`
* **Settings UI**: `VertexConfiguration.tsx`, `ApiKeyConfiguration.tsx`
* **Models UI**: `ModelsSection.tsx` (Flash toggle)
* **Setup Detection**: `useLanguageModelProviders.ts`
* **Path Utils**: `path_utils.ts`, `response_processor.ts`
* **Deps**: `package.json` → `@ai-sdk/google-vertex@3.0.16`
---
# Tests & Validation
* **TypeScript**: `npm run ts` → ✅
* **Lint**: `npm run lint` → ✅
* **Unit tests**: `npm test` → ✅ 231 passed, 0 failed
---
# Migration / Notes
* No breaking changes.
* For Vertex usage:
* Ensure Vertex AI API is enabled.
* Service Account needs `roles/aiplatform.user`.
* Region must support model (e.g. `us-central1`).
* Thinking toggle currently affects **only** Gemini 2.5 Flash.
---
# Manual QA
1. Configure Vertex with Project/Location/Service Account JSON.
2. Test built-ins:
* `gemini-2.5-pro`
* `gemini-2.5-flash` (toggle on/off)
* `gemini-2.5-flash-lite`
3. Test MaaS partner model (e.g., DeepSeek) via full publisher ID.
4. Verify other providers remain unaffected.
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds a first-class Google Vertex AI provider with Gemini 2.5 models, a
Vertex settings panel, and a “thinking” toggle for Gemini 2.5 Flash.
Also fixes model resolution for Vertex and hardens cross-platform file
operations.
- **New Features**
- Vertex AI provider via @ai-sdk/google-vertex with project, location,
and service account JSON.
- Built-in models: gemini-2.5-pro, gemini-2.5-flash,
gemini-2.5-flash-lite.
- “Thinking” support: Pro always on; Flash toggle in Models UI; Flash
Lite none.
- MaaS partners supported via full publisher paths (e.g.,
publishers/<partner>/models/...).
- Vertex settings UI with encrypted service account key storage.
- **Bug Fixes**
- Built-in Vertex models auto-map to publishers/google/models/<id>.
- Consistent file ops across platforms using toPosixPath.
- Vertex readiness detection requires project/location/service account
JSON.
- Streaming “thinking” behavior respects Vertex Flash toggle and Pro
always-on.
<!-- End of auto-generated description by cubic. -->
---------
Co-authored-by: Md Rakibul Islam Rocky <mdrirocky08@gmail.com >
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Will Chen <willchen90@gmail.com >
2025-09-08 22:41:12 -07:00
Will Chen
2285b5ebdf
Disable encryption for e2e tests ( #1024 )
...
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Disable Electron safeStorage encryption in test builds so e2e runs are
consistent and don’t require the OS keychain. Added an IS_TEST_BUILD
guard in encrypt() to force the unencrypted fallback during tests.
<!-- End of auto-generated description by cubic. -->
2025-08-20 17:19:57 -07:00
Will Chen
b0f08eaf15
Neon / portal template support ( #713 )
...
TODOs:
- [x] Do restart when checkout / restore if there is a DB
- [x] List all branches (branch id, name, date)
- [x] Allow checking out versions with no DB
- [x] safeguard to never delete main branches
- [x] create app hook for neon template
- [x] weird UX with connector on configure panel
- [x] tiny neon logo in connector
- [x] deploy to vercel
- [x] build forgot password page
- [x] what about email setup
- [x] lots of imgix errors
- [x] edit file - db snapshot
- [x] DYAD_DISABLE_DB_PUSH
- [ ] update portal doc
- [x] switch preview branch to be read-only endpoint
- [x] disable supabase sys prompt if neon is enabled
- [ ] https://payloadcms.com/docs/upload/storage-adapters
- [x] need to use main branch...
Phase 2?
- [x] generate DB migrations
2025-08-04 16:36:09 -07:00
Will Chen
e947eede7a
community templates ( #691 )
2025-07-23 10:11:16 -07:00
Will Chen
444397ea86
Create Publish panel to easy GitHub and Vercel push ( #655 )
2025-07-17 15:54:08 -07:00
Will Chen
4d7d9ec2a6
move auto-update to later ( #603 )
...
otherwise on windows the settings path (which is based on userData)
isn't available yet.
2025-07-08 13:48:34 -07:00
Will Chen
dfdd267f53
Backup Dyad on new versions ( #595 )
2025-07-08 11:38:06 -07:00
Will Chen
a93536386b
Support Beta release channel ( #591 )
2025-07-07 17:15:02 -07:00
Will Chen
ab6a9d3b34
Disable auto-update setting & settings page has scroll shortcuts ( #590 )
...
Fixes https://github.com/dyad-sh/dyad/issues/561
2025-07-07 15:43:06 -07:00
Will Chen
d0f6e40378
Bump to v0.11.1 and disable autofix by default ( #565 )
2025-07-03 16:26:39 -07:00
Will Chen
678cd3277e
Problems: auto-fix & problem panel ( #541 )
...
Test cases:
- [x] create-ts-errors
- [x] with auto-fix
- [x] without auto-fix
- [x] create-unfixable-ts-errors
- [x] manually edit file & click recheck
- [x] fix all
- [x] delete and rename case
THINGS
- [x] error handling for checkProblems isn't working as expected
- [x] make sure it works for both default templates (add tests)
- [x] fix bad animation
- [x] change file context (prompt/files)
IF everything passes in Windows AND defensive try catch... then enable
by default
- [x] enable auto-fix by default
2025-07-02 15:43:26 -07:00
Will Chen
9fbd7031d9
build ask mode ( #444 )
2025-06-19 10:42:51 -07:00
Will Chen
fa80014e16
Remove budget saver mode ( #378 )
...
This code was quite complex and hairy and resulted in very opaque errors
(for both free and pro users). There's not much benefit to budget saver
because Google removed 2.5 Pro free quota a while ago (after it
graduated the model from experimental to preview). Dyad Pro users can
still use 2.5 Flash free quota by disabling Dyad Pro by clicking on the
Dyad Pro button at the top.
2025-06-10 13:54:27 -07:00
Will Chen
5e86f4b54b
Set turbo edits & smart context as default ( #227 )
2025-05-22 10:43:13 -07:00
Will Chen
96153f29bb
Deprecate pro budget in app since it's not accurate ( #210 )
2025-05-20 21:51:34 -07:00
Will Chen
069c221292
Implement saver mode ( #154 )
2025-05-13 15:34:41 -07:00
Will Chen
0d56651220
Run prettier on everything ( #104 )
2025-05-06 23:02:28 -07:00
Will Chen
1e866c8f99
Graduate Supabase integration from experiments ( #29 )
2025-04-28 13:14:51 -07:00
Will Chen
eda2f9206d
Support deep link for Dyad Pro ( #25 )
2025-04-26 10:58:11 -07:00
Will Chen
bf70c1bb00
Supabase integration experiment setting (off by default)
2025-04-23 12:59:09 -07:00
Will Chen
4294ce5767
Supabase support: client, auth & SQL
2025-04-23 12:59:09 -07:00
Will Chen
ec43482d6c
Basic Supabase OAuth integration & project-app binding
2025-04-23 12:59:09 -07:00
Will Chen
09b3bf3fee
Prompt user to move to applications folder on first run
2025-04-21 16:27:07 -07:00
Will Chen
16d5320485
Enable opt-in telemetry
2025-04-21 12:49:54 -07:00
Will Chen
24c1be224b
Remove runtime mode selection & have unified setup flow for node.js + API access
2025-04-17 16:52:20 -07:00
Will Chen
658d4e0bde
proper secret encrpytion
2025-04-14 23:15:58 -07:00
Will Chen
1c325eccf4
Commit with GitHub user email (needed for vercel deployment)
2025-04-14 22:39:42 -07:00
Will Chen
7ad83a2bdc
Basic GitHub integration flow
2025-04-14 18:12:43 -07:00
Will Chen
d3c1f8e34c
clear runtime consent and settings
2025-04-11 14:23:14 -07:00
Will Chen
43f67e0739
Initial open-source release
2025-04-11 09:38:16 -07:00