Commit Graph
827 Commits
Author SHA1 Message Date
Kai (Tam Nhu) TranandGitHub b3ce680b58 Merge pull request #609 from kaitranntt/kai/fix/602-codex-model-suffix
fix(cliproxy): keep canonical codex model ids in settings
2026-02-22 11:46:12 -05:00
Tam Nhu Tran a81176da79 fix(cliproxy): keep canonical codex model ids in settings 2026-02-22 23:40:45 +07:00
Tam Nhu Tran 742b5ed580 fix(cliproxy): normalize codex effort aliases without reasoning proxy 2026-02-22 23:12:23 +07:00
Tam Nhu Tran 88be99f8a0 fix(cliproxy): keep remote-proxy client under maintainability limit 2026-02-22 22:44:26 +07:00
Tam Nhu Tran 34292ca7f8 fix(cliproxy): prevent false remote timeout on reachable proxy 2026-02-22 22:38:50 +07:00
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 9371a72c16 fix(cliproxy): split claude quota fetcher for maintainability gate 2026-02-22 01:35:32 +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
Kai (Tam Nhu) TranandGitHub 06a4f3f131 Merge pull request #599 from kaitranntt/fix/598-gemini-3-1-pro-preview
fix(cliproxy): support gemini-3.1-pro-preview alias routing
2026-02-22 00:57:30 +07:00
Tam Nhu Tran 63619cb9dc fix(cliproxy): harden antigravity alias generation 2026-02-22 00:35:20 +07:00
Tam Nhu Tran 653f8092ae fix(cliproxy): add gemini 3.1 preview alias compatibility 2026-02-22 00:14:15 +07:00
Kai (Tam Nhu) TranandGitHub 4c7501fe39 Merge pull request #596 from kaitranntt/feat/refactor-hardcode-dx-one-pr
refactor(core): centralize hardcoded paths and command/provider sources
2026-02-21 10:40:51 +07:00
Tam Nhu Tran 343ec959fc fix(core): resolve edge cases and hardcoded drift 2026-02-21 10:32:19 +07:00
Tam Nhu Tran 187c6f7f13 docs(cliproxy): add normalizer API usage examples 2026-02-21 02:21:32 +07:00
Tam Nhu Tran 6429781e8f fix(cliproxy): normalize provider-aware Claude model IDs 2026-02-21 02:14:09 +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 af6aa2d7b2 fix(types): use type-only import for composite tier config 2026-02-21 01:35:58 +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 5b12ce7f00 fix(api): sanitize preset help text rendering
- strip control characters from dynamic preset output

- render preset help from shared registry data

- include normalized alias hints without hardcoded lines
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 e32192177b Merge remote-tracking branch 'origin/dev' into kai/fix/588-nested-session-guard 2026-02-20 23:04:59 +07:00
Tam Nhu Tran 8e57d59479 fix(execution): strip claudecode in remaining claude paths
- sanitize Copilot profile Claude launch environment

- sanitize auth create isolated instance launch environment

- sanitize doctor Claude CLI version check spawn environment

Refs #588
2026-02-20 23:00:59 +07:00
Tam Nhu Tran d25eda8435 fix(spawn): sanitize claudecode in shared claude env builders
- strip CLAUDECODE from cliproxy-built Claude environments

- enforce sanitization in ClaudeAdapter buildEnv

- apply same env hardening in shared spawnClaude helper

Refs #588
2026-02-20 23:00:47 +07:00
Tam Nhu Tran 50412dc679 fix(delegation): strip claudecode in core delegation spawn paths
- add shared CLAUDECODE sanitizer for child env construction

- apply sanitizer in execClaude and headless delegation execution

- sanitize GLMT embedded Claude spawn environment

Refs #588
2026-02-20 23:00:33 +07:00
Tam Nhu Tran 8201204380 fix(quota): address ghcp review follow-ups 2026-02-20 22:53:49 +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
Tam Nhu Tran 4303ee48c9 fix(delegation): strip CLAUDECODE env var to bypass nested session guard
Claude Code v2.1.39+ sets CLAUDECODE env var and refuses to launch
if detected, breaking CCS auto-delegation which spawns child Claude
processes. Strip the var from both interactive (execClaude) and
headless (HeadlessExecutor) spawn paths.

Closes #588
2026-02-20 22:22:11 +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 954baecfe4 fix(thinking): handle clear no-op and tighten override coverage 2026-02-19 16:26:56 +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
Tam Nhu Tran cf8070b5f0 fix(profile): handle km compatibility for legacy kimi api users 2026-02-19 12:43:41 +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 c73a26c51c fix(cliproxy): address review feedback on kimi catalog
- Sync kimi-k2.5 description between backend and UI catalogs
  to 'Latest multimodal model (262K context)' per official naming
- Add kimi-k2 pricing entry to avoid fallback to unknown model rate
- Add supportsModelConfig and getProviderCatalog tests for kimi
2026-02-19 10:41:32 +07:00
Tam Nhu Tran dd38df6b8d fix(cliproxy): add kimi-k2 pricing and kimi catalog tests
Address review feedback from PR #585:
- Add missing kimi-k2 pricing entry ($0.60/$2.50, cache $0.15)
  to avoid fallback to unknown model pricing
- Add kimi provider tests to model-catalog.test.js verifying
  catalog structure, default model, and model IDs
2026-02-19 10:36:42 +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 a71496cc3d fix(cliproxy): harden provider alias and refresh edge cases
- guard provider alias generation against ambiguous collisions

- add account-scoped Gemini token refresh with strict account checks

- warn and fallback on invalid management remote ports

- align remaining HTTP remote defaults and extend cliproxy tests
2026-02-18 04:18:39 +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 688f3e3889 refactor(commands): share cliproxy default port for setup and help
- source setup wizard local port default from port-manager

- render help text defaults from shared constant
2026-02-18 03:10:09 +07:00
Tam Nhu Tran 90b8d04d71 refactor(cliproxy): use shared default port in management paths
- replace 8317 literals with CLIPROXY_DEFAULT_PORT constant

- keep http/https fallback behavior unchanged in runtime checks
2026-02-18 03:10:09 +07:00
Tam Nhu Tran bd8daac094 refactor(cliproxy): centralize provider auth capability metadata
- move callback/auth-url names, token type values, and prefixes

- derive auth maps from capabilities instead of hardcoded records

- route refresh delegation through capability ownership metadata
2026-02-18 03:10:09 +07:00
Tam Nhu Tran fae8716900 fix(cursor): fallback when requested model is unavailable
- resolve request model against current available catalog

- choose safe default when configured default id is not present

- add tests and docs for daemon request-model fallback behavior
2026-02-17 20:53:03 +07:00
Tam Nhu Tran 9031e5a085 fix(cliproxy): log unknown codex quota window labels
- detect and de-duplicate unclassified quota window labels

- emit diagnostics in verbose/debug modes for API label drift

- add unit tests for unknown-label extraction behavior
2026-02-17 20:53:03 +07:00
Tam Nhu Tran 53e18d4c8d fix(core): prevent GLMT proxy leaks in child lifecycle
- reuse shared wireChildProcessSignals for GLMT Claude execution

- centralize proxy stop logic on child error and exit paths

- guard global signal cleanup so cleanup failures do not block exit
2026-02-17 20:53:03 +07:00