Commit Graph

18 Commits

Author SHA1 Message Date
LiuVaayne
6ac70e659f fix(provider-registry): restore login-based providers lost in catalog regeneration (#16723)
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: Vaayne <liu.vaayne@gmail.com>
2026-07-04 20:20:21 +08:00
LiuVaayne
9eb784fc2f feat(provider): add login-based providers — Claude Code, OpenAI Codex & Grok CLI (#16283)
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: Vaayne <liu.vaayne@gmail.com>
Signed-off-by: kangfenmao <kangfenmao@qq.com>
2026-07-03 21:03:21 +08:00
SuYao
bd87e9a6cb feat(provider-registry): generate catalog from src/creators + src/providers, add TokenHub (#16401)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: suyao <sy20010504@gmail.com>
2026-07-03 13:01:36 +08:00
Pleasure1234
761f5386f6 feat(provider-registry): add OpenCode Go provider (#16618)
Signed-off-by: Pleasurecruise <3196812536@qq.com>
2026-07-02 15:43:12 +08:00
亢奋猫
366ecf63da refactor(provider): remove tokenflux providers (#16518)
Signed-off-by: kangfenmao <kangfenmao@qq.com>
2026-06-30 19:52:35 +08:00
Asurada
bc50274f35 fix(provider-registry): correct text-only model capabilities (#16153)
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
2026-06-24 22:57:59 +08:00
Pleasure1234
fd19174a3e chore(provider-registry): backfill ownedBy/family for image models, complete gpt-image-2 (#16115)
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: Pleasurecruise <3196812536@qq.com>
2026-06-17 21:24:04 +08:00
亢奋猫
2e3520678c feat(ui): add shared markdown, tree view, and portal primitives (#16020)
Co-authored-by: gujiaming <52187003+AtomsH4@users.noreply.github.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: kangfenmao <kangfenmao@qq.com>
Signed-off-by: gujiaming <52187003+AtomsH4@users.noreply.github.com>
2026-06-17 13:26:53 +08:00
Asurada
697dfb1a7c fix(provider-registry): correct model registry metadata (#16030)
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: ousugo <dkzyxh@gmail.com>
2026-06-15 18:44:15 +08:00
Asurada
abcf7d0390 chore(models): add 49 new models (#15945)
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: ousugo <dkzyxh@gmail.com>
2026-06-12 18:49:17 +08:00
lanshi
26574a2848 feat: add OpenAI Responses API format support for dashscope and doubao (#15724)
Signed-off-by: lanshi <yzs20030317@gmail.com>
2026-06-06 18:06:52 +08:00
rg
8ee60deb20 chore(link): fix zhipu apikey website link (#15618)
Co-authored-by: 亢奋猫 <kangfenmao@qq.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
2026-06-05 19:48:57 +08:00
SuYao
5706307451 refactor(ai-service): consolidate AI runtime to main process (#14911)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: suyao <sy20010504@gmail.com>
2026-06-05 00:06:51 +08:00
亢奋猫
26508591f8 refactor(paintings): migrate to v2 data layer and UI (#15154)
Co-authored-by: jidan745le <420511176@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: SuYao <sy20010504@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: jidan745le <420511176@qq.com>
Signed-off-by: suyao <sy20010504@gmail.com>
2026-06-02 15:18:53 +08:00
fullex
8fe0d6448a refactor(dead-code): remove orphaned modules and components after v2 migration
Remove 75 dead files left behind by v2 refactors that replaced their
implementations but did not delete the originals. All deletions verified
by pnpm typecheck (0 errors) and pnpm test (670/670 files, 9416 passed).

Whole-feature removals:
- pages/onboarding/* (6 files): superseded by new onboarding flow
- components/Popups/ApiKeyListPopup/* (6 files): replaced by v2
  ProviderApiKeyListDrawer
- components/Sortable/* (8 files): replaced by packages/ui composites
  Sortable (#14940 antd/styled-components migration)
- components/RichEditor/.../dragContextMenu/* (12 files): notes module
  drag-context-menu feature removed
- components/HealthStatusIndicator/* (4 files): consumers removed in
  d15e15e1f v1 provider/model hooks retire

Cross-cutting cleanup:
- Settings page residuals from provider-settings v2 migration (#14631)
- Message component residuals: MessageImage, MessageSelect,
  NewTopicButton, PermissionModeDisplay, SectionName
- AgentSettings Tasks: TaskListItem, TaskLogsModal (per 6f37603d6)
- Legacy UI wrappers obsoleted by @cherrystudio/ui migration:
  ConfirmDialog, PopoverConfirm, CustomCollapse, Ellipsis,
  ModelIdWithTags (x2), ModelSelectButton, Tags/{Error,Success,Warn}Tag,
  TableActionMenu, RichEditPopup, VideoPopup, OpenaiAlert
- Built-in tools removed: tools/{index,think}.ts (per eff583abb)
- Legacy aiCore layer plugin: reasoningTimePlugin (per 188f25478)
- Main process leftovers: proxy/bootstrap, PreprocessingService,
  createStreamAbortController, IBaseService
- Misc fossils: utils/stream (Windows7-era), base-transformer,
  model-test-utils, endpointTypes, files/ContentView,
  mini-apps/MiniAppFullPageView
2026-05-22 08:45:28 -07:00
SuYao
e93c8cd943 feat(provider-settings): grouping + mode-based editor follow-up (#15088)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: suyao <sy20010504@gmail.com>
2026-05-18 20:57:26 +08:00
jidan745le
e59c7aa7f7 refactor(provider-settings): migrate to v2 data layer and UI (#14631)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: suyao <sy20010504@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Signed-off-by: jidan745le <420511176@qq.com>
Signed-off-by: suyao <sy20010504@gmail.com>
2026-05-14 17:01:33 +08:00
jidan745le
780a884c67 feat(data): provider/model data migration and registry service (backend only) (#14115)
### What this PR does

Before this PR:
- v2 migration did not include provider/model data migration from legacy
`llm` state.
- Provider/model data APIs and handlers were incomplete.
- `@cherrystudio/provider-registry` (formerly provider-catalog) package
was not integrated into the data layer.

After this PR:
- Add provider/model migration path (`ProviderModelMigrator` + mappings)
and register it in v2 migrator flow.
- Add `@cherrystudio/provider-registry` package with JSON-based registry
data, Zod-validated schemas, and lifecycle-managed
`ProviderRegistryService`.
- Complete provider/model schemas, services, handlers, shared API
schemas/types, and model merger utility.
- Complete provider API endpoints (`registry-models`, `auth-config`,
`api-keys`) aligned with lifecycle DI patterns.

**Note:** This PR is intentionally scoped to backend/data-layer only.
Renderer consumer migration will be submitted in a separate PR to
maintain domain separation.

Fixes #

N/A

### Why we need it and why it was done in this way

The following tradeoffs were made:
- Kept migration and data API implementation within current v2
architecture (handler -> service -> db schema) instead of adding
temporary compatibility layers.
- Replaced protobuf toolchain with JSON + Zod validation for simpler
data pipeline and better debuggability.
- Converted all numeric enums to string-valued `as-const` objects
(EndpointType, ModelCapability, Modality, etc.) for runtime
debuggability.
- Unified separate `baseUrls`, `modelsApiUrls`, `reasoningFormatTypes`
fields into a single `endpointConfigs` map keyed by EndpointType.

The following alternatives were considered:
- Keep protobuf-based registry data; rejected due to complexity of proto
toolchain and poor debuggability of binary data.
- Include renderer consumer migration in same PR; deferred to separate
PR for cleaner domain boundaries.

Links to places where the discussion took place:
- Original combined PR: #14034

### Breaking changes

None.

### Special notes for your reviewer

- This is a backend-only extraction from #14034, which contained both
backend and renderer consumer code. The renderer migration will follow
in a separate PR.
- Please focus review on migration flow (`ProviderModelMigrator`),
provider/model service contracts, and the registry package design.
- The `@cherrystudio/provider-registry` package was renamed from
`provider-catalog` and uses JSON data files instead of protobuf.

### Checklist

- [x] PR: The PR description is expressive enough and will help future
contributors
- [x] Code: Write code that humans can understand and Keep it simple
- [x] Refactor: You have left the code cleaner than you found it (Boy
Scout Rule)
- [ ] Upgrade: Impact of this change on upgrade flows was considered and
addressed if required
- [ ] Documentation: Not required (internal data layer, no user-facing
changes)
- [x] Self-review: I have reviewed my own code

### Release note

```release-note
NONE
```

---------

Signed-off-by: jidan745le <420511176@qq.com>
Signed-off-by: suyao <sy20010504@gmail.com>
Co-authored-by: suyao <sy20010504@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
2026-04-10 19:12:33 +08:00