Commit Graph
418 Commits
Author SHA1 Message Date
Tam Nhu Tran ca58cb5a08 fix(cliproxy): harden quota guards and review follow-ups 2026-02-22 02:35:07 +07:00
Tam Nhu Tran 8c790f41ff fix(cliproxy): close remaining quota edge-case gaps 2026-02-22 02:12:40 +07:00
Tam Nhu Tran d47620592d Merge remote-tracking branch 'origin/dev' into fix/548-claude-quota-balance
# Conflicts:
#	src/commands/cliproxy/help-subcommand.ts
#	src/commands/cliproxy/index.ts
#	src/commands/cliproxy/quota-subcommand.ts
2026-02-22 01:24:44 +07:00
Tam Nhu Tran 2385d9028a feat(cliproxy): add Claude quota windows and account failover 2026-02-22 01:19:02 +07:00
Tam Nhu Tran 6074fcb0b6 fix(refactor): address PR review follow-up findings 2026-02-21 01:44:44 +07:00
Tam Nhu Tran 8d2ec86155 refactor(core): centralize claude paths and command parsing 2026-02-21 01:31:16 +07:00
Tam Nhu Tran b3177179b1 fix(ui): harden provider preset/icon typing
- replace unsafe provider asset/color index lookups with typed helpers

- explicitly type UI preset override map to satisfy ProviderPresetId indexing

- resolves TS7053 failures seen in validate CI after dev merges
2026-02-20 23:24:11 +07:00
Tam Nhu Tran 14242b5681 fix(profiles): reset form state on preset transitions
- resolve presets through canonical alias-aware lookup

- reset all tier model fields when switching presets/custom

- derive quick templates from non-recommended categories
2026-02-20 23:24:11 +07:00
Tam Nhu Tran 9ad8e64e85 refactor(ui): centralize provider metadata and fallbacks
- move logo, label, and device-code copy into provider-config

- handle unknown or non-string providers without UI crashes

- replace duplicated hardcoded mappings in cliproxy table/logo
2026-02-20 23:24:11 +07:00
Tam Nhu Tran 21d6754ec6 refactor(presets): centralize shared provider preset catalog
- add shared preset catalog used by CLI and Dashboard

- enforce alias/id integrity and canonical normalization

- replace duplicated preset definitions in service and UI layers

- allow Vite dev fs access to repo root for shared catalog imports
2026-02-20 23:24:11 +07:00
Tam Nhu Tran 8201204380 fix(quota): address ghcp review follow-ups 2026-02-20 22:53:49 +07:00
Tam Nhu Tran 2c5b2af55a fix(ui): normalize ghcp quota tooltip and labels 2026-02-20 22:40:22 +07:00
Tam Nhu Tran 8d9d4987dc feat(quota): add GitHub Copilot quota checks for ghcp and copilot 2026-02-20 22:32:27 +07:00
Kai (Tam Nhu) TranandGitHub 2eddd5c773 Merge pull request #590 from kaitranntt/fix/api-profiles-mobile-scroll
fix(ui): make API profile dialog scrollable on small screens
2026-02-20 12:36:18 +07:00
Tam Nhu Tran faa610f843 fix(ui): make api profile dialog scrollable on small screens 2026-02-20 12:31:19 +07:00
Kai (Tam Nhu) TranandGitHub e63292c793 Merge pull request #587 from kaitranntt/kai/feat/583-thinking-ux-dx
feat(thinking): complete thinking UX/DX for all providers
2026-02-19 16:32:05 +07:00
Tam Nhu Tran 92e2ec111d fix(thinking): harden codex reasoning controls across cli and dashboard 2026-02-19 14:13:41 +07:00
Tam Nhu Tran 0bf00b23d9 fix(profile): close km legacy kimi compatibility gaps 2026-02-19 13:02:56 +07:00
Tam Nhu Tran c48ed2ea7f feat(thinking): complete thinking UX/DX for all providers
- Fix codex off-mode bug: add disableEffort to CodexReasoningProxy
  so mode=off actually skips reasoning injection
- Add CCS_THINKING env var (priority: flag > env > config)
- Add startup feedback: [i] Thinking: <level> (<source>)
- Add ccs config thinking CLI subcommand with --mode, --override,
  --tier, --provider-override, --clear-override
- Dashboard: add manual override selector when mode=manual
- Dashboard: add provider overrides collapsible section
- Dashboard: update info box with CCS_THINKING env var docs
- Update help-command.ts with CCS_THINKING and config thinking

Closes #583
2026-02-19 12:45:23 +07:00
Kai (Tam Nhu) TranandGitHub 10c15dab3d Merge pull request #585 from kaitranntt/kai/fix/kimi-missing-models
fix(cliproxy): add Kimi model catalog, sync, and pricing to dashboard
2026-02-19 10:49:00 +07:00
Tam Nhu Tran 3767b95735 fix(cliproxy): add Kimi model catalog, sync, and pricing to dashboard
- Add kimi entry to UI model-catalogs.ts with K2.5, K2 Thinking, K2
  models and preset mappings so dashboard shows available models
- Add kimi to CHANNEL_TO_PROVIDER and SYNCABLE_PROVIDERS in
  catalog-cache.ts so models sync from upstream CLIProxyAPI
- Add kimi/moonshot to provider-editor ownerMap for model filtering
- Update Kimi model pricing to match official Kimi Platform rates:
  kimi-k2.5 ($0.60/$3.00), kimi-k2-thinking ($0.60/$2.50),
  kimi-k2-turbo-preview ($1.15/$8.00)
- Add missing kimi-k2.5 pricing entry

Closes #581
2026-02-19 10:28:40 +07:00
Tam Nhu Tran 476eabe08f fix(cliproxy): warn gemini and agy users about issue 509 2026-02-19 10:12:57 +07:00
Tam Nhu Tran ecc4a3fe58 fix(cliproxy): normalize codex model and provider routing 2026-02-18 21:27:58 +07:00
Tam Nhu Tran c18adc90c3 fix(ui): harden cliproxy panel and proxy edge handling
- make iframe auto-login/reload flow race-safe and lint-compliant

- normalize API base joins and replace conflict sentinels with typed errors

- tighten proxy port validation and defer cursor preset apply until models load

- add ui api-client unit coverage for path and conflict helpers
2026-02-18 04:18:57 +07:00
Tam Nhu Tran 7e527af777 refactor(cliproxy): resolve remaining review parity and cleanup nits
- export buildProviderMap from provider capabilities and reuse in auth-types

- add provider descriptions to backend capabilities and sync display names

- remove ui CLIPROXY_PORT alias and use CLIPROXY_DEFAULT_PORT directly

- return stable string from getProviderDescription

- extend backend/ui parity tests for display name and description values
2026-02-18 03:35:08 +07:00
Tam Nhu Tran 39593c161b refactor(cliproxy): address review feedback on parity and refresh flow
- make refresh ownership handling exhaustive in provider refresher

- extend backend/ui sync test to provider IDs and device-code providers

- remove DEFAULT_CURSOR_PORT re-export from use-cursor hook

- import cursor default port directly from shared defaults module
2026-02-18 03:24:28 +07:00
Tam Nhu Tran 5a786263bc fix(ui): replace stale BASE_URL references in api client
- use withApiBase for config yaml, auth file, and error log endpoints

- resolve UI build/typecheck failure in CI validate job
2026-02-18 03:15:03 +07:00
Tam Nhu Tran 70116cb3a1 refactor(ui): replace remaining hardcoded port defaults
- use shared cliproxy default in control panel embed

- use shared cursor default port in cursor page fallbacks
2026-02-18 03:10:10 +07:00
Tam Nhu Tran 5788ddc3b7 refactor(ui): use shared default proxy port in settings cards
- replace inline 8317 defaults with CLIPROXY_DEFAULT_PORT

- keep HTTPS fallback behavior at 443 unchanged
2026-02-18 03:10:10 +07:00
Tam Nhu Tran a53e6cbd25 refactor(ui): centralize provider metadata for setup wizard
- define provider display names and descriptions in provider-config

- consume shared metadata helpers in setup wizard constants
2026-02-18 03:10:09 +07:00
Tam Nhu Tran feb556dc90 refactor(ui): unify api base path for cursor and copilot hooks
- add withApiBase helper and use it across fetch calls

- remove duplicated API base literals in cursor/copilot hooks

- expose cursor default port from shared ui defaults module
2026-02-18 03:10:09 +07:00
Tam Nhu Tran 63f422179e refactor(ui): centralize default ports and add parity test
- add ui default port constants for cliproxy and cursor

- wire preset utils to shared ui default port constants

- add backend/ui sync test to prevent port drift
2026-02-18 03:10:09 +07:00
Tam Nhu Tran 6961fb0ec3 feat(ui): add Kimi provider logo with dark background
- Add kimi.svg (Moonshot brand logo, white on dark)
- Add kimi to provider-logo.tsx PROVIDER_IMAGES and PROVIDER_CONFIG
- Dark background for kimi logo container (bg-gray-900)
2026-02-17 20:13:34 +07:00
Tam Nhu Tran ddd5b159d2 fix(cliproxy): add kimi to wizard constants and image analysis config
- add kimi entry to PROVIDER_INFO and WIZARD_PROVIDER_ORDER in setup wizard
- add kimi to DEFAULT_IMAGE_ANALYSIS_CONFIG.provider_models
2026-02-17 17:16:52 +07:00
Tam Nhu Tran f451f4e421 feat(cliproxy): rename kimi API preset to km, add kimi to UI
- create config/base-km.settings.json for API-key Kimi users
- rename preset id 'kimi' to 'km' in CLI and UI provider presets
- add 'ccs km' to help text API section, keep 'ccs kimi' for OAuth
- add --km delegation flag for API-key mode, --kimi stays for OAuth
- add kimi to UI CLIPROXY_PROVIDERS, assets, colors, names, device code
2026-02-17 17:03:05 +07:00
Tam Nhu Tran 7d7054e2c0 feat(targets): add multi-target CLI adapter system (Droid support)
Implement target adapter pattern enabling CCS CLI to support multiple backend targets
(Claude, Droid) via pluggable adapters. Core additions:

- TargetAdapter interface for pluggable target implementations
- ClaudeAdapter and DroidAdapter concrete implementations
- Target registry (singleton Map-based storage)
- Target resolver with precedence: --target flag > per-profile config > busybox detection
- Droid config manager with atomic writes and file locking to ~/.factory/settings.json
- Droid binary detector to validate runtime environment
- Adapter dispatch integrated into ccs.ts main execution flow
- ccsd busybox alias for seamless Droid invocation
- --target flag documentation in help
- Session tracking enriched with target metadata
- Dashboard target badge for visual identification

Testing:
- 43 unit tests covering resolver, registry, config manager, and adapters
- Full coverage of target detection logic and edge cases

Documentation:
- Refactored system-architecture.md into modular docs/system-architecture/ subdirectory
- Updated code-standards.md with target adapter guidelines
- Updated codebase-summary.md with architecture overview
- Updated maintainability baseline (33.8% → 35.2%)

This establishes extensible foundation for multi-target support without breaking
existing Claude workflows. Droid adapter is production-ready but defaults to Claude
for backward compatibility.
2026-02-16 10:49:09 +07:00
Tam Nhu Tran 4fc19c4390 feat(cliproxy): expose codex weekly reset schedule in quota views 2026-02-15 09:48:39 +07:00
Tam Nhu Tran b40fe866ec fix(cursor-ui): label cursor dashboard as beta
- add visible Beta badge in Cursor page header

- clarifies feature is not production-tested yet
2026-02-15 05:39:46 +07:00
Kai (Tam Nhu) TranandGitHub 16aeddfb11 Merge pull request #568 from kaitranntt/fix/555-cursor-e2e-recovery
feat(cursor): recover lost Cursor dashboard and model-mapping work
2026-02-14 17:50:57 +07:00
Tam Nhu Tran decdffea61 fix(cursor-ui): restore info card order and list scrolling
- move Cursor info metadata card above available models

- add min-h-0/flex containment to preserve scroll behavior

- fix clipped content in cursor config dashboard layout
2026-02-14 17:48:18 +07:00
Tam Nhu Tran 7ab7a156eb feat(cursor-ui): restore Cursor dashboard UX and icon assets
- rebuild /cursor page with model tiers, presets, and save-all flow

- validate raw JSON edits via RawEditorSection before save operations

- add sidebar image icon rendering and restore cursor.svg asset

- include risk warning copy and OpenAI-first GPT-5.3 Codex preset

Refs #555
2026-02-14 16:57:27 +07:00
Kai (Tam Nhu) TranandGitHub c9b4a9ccba Merge pull request #561 from kaitranntt/fix/552-review-followups
fix(cliproxy): harden Kiro device-code auth flow consistency
2026-02-14 13:38:00 +07:00
Tam Nhu Tran e3f0860750 fix(ui): use type-only import for KiroAuthMethod
- satisfy verbatimModuleSyntax during ui build in CI
2026-02-14 13:36:13 +07:00
Tam Nhu Tran 6a21f3921b fix(ui): add method-aware kiro auth flow parity
- add Kiro auth-method selector with AWS device-code default

- route start requests by method-specific flow and endpoint

- support auth_url status polling and delayed URL UX state

Refs #552

Refs #233
2026-02-14 13:33:57 +07:00
Tam Nhu Tran 945db1d690 feat(cliproxy): clarify codex effort mapping and preset UX 2026-02-14 11:31:18 +07:00
Tam Nhu Tran 826a42d8d6 fix(cliproxy): harden kiro device-code auth flow consistency 2026-02-14 10:55:14 +07:00
Kai (Tam Nhu) TranandGitHub 9796a21612 Merge pull request #559 from kaitranntt/fix/codex-reasoning-ux
fix: codex reasoning effort UX across cliproxy and -p
2026-02-14 09:08:20 +07:00
Kai (Tam Nhu) TranandGitHub 174a4c2777 Merge pull request #558 from kaitranntt/kai/fix/555-cursor-e2e
feat(cursor): complete end-to-end integration and dedicated dashboard UX
2026-02-14 09:03:09 +07:00
Tam Nhu Tran 0db2fd2040 Revert "feat(codex): use spark as haiku in 5.3 preset"
This reverts commit aaaceb43e0.
2026-02-14 08:20:32 +07:00
Tam Nhu Tran f9df3cfa7a fix(cliproxy): unify codex reasoning flags and thinking flow 2026-02-14 07:44:59 +07:00