Commit Graph
416 Commits
Author SHA1 Message Date
Tam Nhu Tran a4c5bb7421 fix(security): harden API endpoints and resolve PR #674 review findings
- Fix X-Forwarded-For header spoofing in requireSensitiveLocalAccess (use socket-level address only)
- Add model ID length validation (max 256 chars) in PUT /models/:provider
- Add provider name validation (alphanumeric, max 64 chars) to prevent path traversal
- Add stale entry eviction for unbounded quotaRateLimits Map (>1000 entries)
- Fix concurrent refresh race in usage aggregator (wait for in-flight before forced refresh)
- Sanitize internal URLs/paths from OAuth failure diagnostics
- Add ValidationError class for denylist violations (distinct from system errors)
- Make CLIProxy sync interval configurable via CCS_CLIPROXY_SYNC_INTERVAL env var
- Improve legacy continuity config error logging (unconditional warn)
- Add CACHE_VERSION history comments
2026-03-04 01:30:46 +07:00
Tam Nhu Tran c2f564ac66 fix(ghcp): improve oauth failure diagnostics in device flow 2026-03-04 00:19:11 +07:00
Kai (Tam Nhu) TranandGitHub 9ec7f5af96 Merge pull request #671 from kaitranntt/kai/fix/664-agy-legacy-model-lookup-compat
fix(cliproxy): restore AGY legacy model lookup compatibility
2026-03-03 11:49:47 -05:00
Tam Nhu Tran ed05cfc5a7 fix(cliproxy): restore agy legacy 4.5 lookup compatibility 2026-03-03 23:44:27 +07:00
Tam Nhu Tran 7e471e663c fix(cliproxy): normalize iflow aliases for explicit routing 2026-03-03 23:34:38 +07:00
Tam Nhu Tran 546c4ee4ee fix(cliproxy): normalize stale iflow model aliases 2026-03-03 23:26:07 +07:00
Kai (Tam Nhu) TranandGitHub a73d9a4c82 Merge pull request #660 from kaitranntt/kai/feat/cliproxy-multi-provider-analytics
fix(agy): remove deprecated 4.5 selector options
2026-03-03 09:14:43 -05:00
Tam Nhu Tran f63e2cd5a3 fix(cliproxy): denylist deprecated agy 4.5 models 2026-03-03 03:10:53 +07:00
Tam Nhu Tran 5913f730ac fix(agy): remove deprecated 4.5 selector options 2026-03-03 03:10:53 +07:00
Tam Nhu Tran 0b9f9826e2 feat(continuity): support cross-profile continuity inheritance from account profiles 2026-03-03 02:49:17 +07:00
Tam Nhu Tran c5124a9cee feat(analytics): integrate CLIProxy multi-provider usage into dashboard
Add unified analytics tracking for all CLIProxy-routed providers
(Gemini/Droid, Codex, OpenCode, Antigravity, Qwen) alongside
existing Claude JSONL data.

- New transformer converts CLIProxy usage API response to
  DailyUsage/HourlyUsage/MonthlyUsage types
- New syncer periodically fetches CLIProxy data (5min interval)
  and persists snapshots to ~/.ccs/cache/cliproxy-usage/
- Aggregator treats CLIProxy as 3rd data source alongside
  default Claude config and CCS instances
- Charts automatically show multi-provider data in unified view
- Graceful degradation when CLIProxy is unavailable
2026-03-03 01:12:12 +07:00
Tam Nhu Tran 747c706369 fix(agy): harden preset canonicalization and migration coverage 2026-03-03 00:39:16 +07:00
Tam Nhu Tran 0b57e41b3a fix(cliproxy): harden agy model canonicalization and migration paths 2026-03-02 21:43:33 +07:00
Tam Nhu Tran 3a26abac71 fix(agy): harden self-migration across settings load/update paths 2026-03-02 21:19:29 +07:00
Tam Nhu Tran 8a2b55449b fix(agy): normalize sonnet 4.6 model ids and migrate legacy thinking alias 2026-03-02 21:10:49 +07:00
Tam Nhu Tran ff9dbb3061 fix(cliproxy): normalize deprecated antigravity Claude aliases 2026-02-26 14:33:47 +07:00
Tam Nhu Tran 03bc4140a1 fix(iflow): replace placeholder model defaults to prevent 406 2026-02-26 14:04:32 +07:00
Kai (Tam Nhu) TranandGitHub 4f1aa69d01 Merge pull request #623 from kaitranntt/kai/fix/agy-responsibility-gate
fix(agy): enforce multi-step responsibility acknowledgement for antigravity oauth
2026-02-26 01:44:43 -05:00
Tam Nhu Tran ac1c744239 fix(cliproxy-sync): honor profile settings paths and targets
- resolve settings file from profile.settingsPath instead of reconstructing by name

- skip non-claude targets for local claude-api-key sync semantics

- add mapper regression tests for both behaviors
2026-02-25 17:01:22 +07:00
Tam Nhu Tran f4a6927293 feat(cliproxy): persist target on variants
- add target to variant create/update flows for single and composite modes

- persist target in unified config and legacy cliproxy entries

- include target in variant list/remove return payloads
2026-02-25 15:52:05 +07:00
Tam Nhu Tran bebb7582cf fix(cliproxy): prevent agy model reset and add sonnet 4.6 models 2026-02-25 00:12:49 +07:00
Tam Nhu Tran c0eb786127 fix(safety): unify add-account typed risk phrase
- change required acknowledgement phrase to "I ACCEPT RISK"

- apply typed phrase requirement to Gemini and Antigravity add-account flows

- keep CLI/server and UI phrase validation aligned

- update antigravity responsibility unit test
2026-02-24 18:32:07 +07:00
Tam Nhu Tran b602ab99ab fix(auth): harden agy safety endpoints and config writes
- add safer error responses for settings/auth routes to avoid leaking internals

- guard sensitive AGY settings endpoints to localhost when dashboard auth is off

- validate start-route bodies and reject OAuth start in remote mode for consistency

- preserve cliproxy.kiro_no_incognito and token_refresh during config merges

- enforce AGY acknowledgement in remote auth-token run/auth command paths
2026-02-24 18:09:36 +07:00
Tam Nhu Tran 3148014c6c fix(agy): align responsibility flow with issue #509
- replace issue #622/#619 references with issue #509 across CLI and dashboard

- shorten acknowledgement phrase to "I ACCEPT AGY RISK" for faster typing

- rename acknowledgement payload field to reviewedIssue509 and update tests
2026-02-24 18:09:10 +07:00
Tam Nhu Tran d3c271ab2c feat(agy): add power-user bypass for responsibility acknowledgement 2026-02-24 17:42:57 +07:00
Tam Nhu Tran 3b1271b5e4 fix(agy): enforce multi-step responsibility acknowledgement for antigravity oauth 2026-02-24 17:23:02 +07:00
Tam Nhu Tran 00495b6675 fix(cliproxy): strengthen account safety warning and redesign alert UI 2026-02-24 12:01:07 +07:00
Tam Nhu Tran 4eb2be79fc fix(cliproxy): prevent blank page in remote mode 2026-02-24 00:47:40 +07:00
Tam Nhu Tran db80f85e38 fix(codex): preserve codex tier efforts in auto thinking 2026-02-23 23:10:12 +07:00
Tam Nhu Tran 57e14cf3a6 fix(codex): validate tier thinking values before suffixing 2026-02-23 22:59:02 +07:00
Tam Nhu Tran be96b84e61 fix(codex): canonicalize dashboard presets and migrate suffixed settings 2026-02-23 22:52:44 +07:00
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 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