Commit Graph
2361 Commits
Author SHA1 Message Date
Kai (Tam Nhu) TranandGitHub dc5eb5fcdf Merge pull request #675 from kaitranntt/kai/hotfix-release-token
ci(release): use PAT_TOKEN for semantic-release branch protection bypass
2026-03-03 13:48:52 -05:00
Tam Nhu Tran 343c36f97d ci(release): use PAT_TOKEN for semantic-release branch protection bypass
semantic-release needs to push version bump + CHANGELOG commits directly
to main. GITHUB_TOKEN cannot bypass branch protection rules, causing
@semantic-release/git to fail with "push declined due to repository rule
violations". PAT_TOKEN has admin bypass and resolves the issue.
2026-03-04 01:42:29 +07:00
Kai (Tam Nhu) TranandGitHub d7d9eb0891 Merge pull request #674 from kaitranntt/dev
chore(release): sync dev to main v7.51.0
2026-03-03 13:36:25 -05:00
github-actions[bot] 1f52998d56 chore(release): 7.51.0-dev.14 [skip ci] 2026-03-03 18:35:38 +00:00
Tam Nhu Tran aeb2553173 chore: update maintainability baseline for v7.51 security hardening 2026-03-04 01:32:59 +07:00
Tam Nhu Tran e255855775 refactor(routes): resolve DRY violations, config race, and error leaks
- Extract generic shouldCacheQuotaResult replacing 4 identical functions
- Move parseTarget to route-helpers.ts (was duplicated in profile/variant routes)
- Add createRouteErrorHelpers factory (was duplicated in auth/settings routes)
- Fix config read-then-write race in proxy-routes.ts and misc-routes.ts
  using mutateUnifiedConfig for atomic read-modify-write
- Replace raw error messages in 500 responses with generic messages +
  server-side logging across all cliproxy-stats-routes handlers
- Convert extractErrorLogMetadata from sync fs to async fs.promises
2026-03-04 01:30:46 +07:00
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
github-actions[bot] 2651e17412 chore(release): 7.51.0-dev.13 [skip ci] 2026-03-03 17:46:29 +00:00
Kai (Tam Nhu) TranandGitHub 740bc6d569 Merge pull request #673 from kaitranntt/kai/feat/issue-665-alibaba-coding-plan-integration
feat: add Alibaba Coding Plan integration and providers promotion
2026-03-03 12:44:40 -05:00
Tam Nhu Tran 3b38f1ac90 fix(ui): improve providers badge readability and albb preset 2026-03-04 00:39:02 +07:00
Tam Nhu Tran 8811e5320f feat(api): add Alibaba Coding Plan preset and providers promotion 2026-03-04 00:39:02 +07:00
github-actions[bot] 08eb46a5de chore(release): 7.51.0-dev.12 [skip ci] 2026-03-03 17:25:28 +00:00
Kai (Tam Nhu) TranandGitHub ec9f3d19ce Merge pull request #672 from kaitranntt/kai/fix/issue-669-ghcp-oauth-failure
fix(ghcp): improve OAuth failure diagnostics after device auth
2026-03-03 12:24:09 -05:00
Tam Nhu Tran c2f564ac66 fix(ghcp): improve oauth failure diagnostics in device flow 2026-03-04 00:19:11 +07:00
github-actions[bot] a066654613 chore(release): 7.51.0-dev.11 [skip ci] 2026-03-03 16:51:59 +00: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
Kai (Tam Nhu) TranandGitHub 10b50225d4 Merge pull request #670 from kaitranntt/kai/fix/663-kimi-k25-provider-routing
fix: resolve iflow unknown-provider error for kimi-k2.5
2026-03-03 11:49:18 -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 27101390fe fix(api-profiles): keep AGY denylist when droid provider is set 2026-03-03 23:41:11 +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
github-actions[bot] 34971c8be4 chore(release): 7.51.0-dev.10 [skip ci] 2026-03-03 16:18:07 +00:00
Kai (Tam Nhu) TranandGitHub 947ba3dfb6 Merge pull request #666 from theoDep/fix/claude-4-6-models-pricing
feat(pricing): fix claude sonnet 4.6 and claude opus 4.6 pricing
2026-03-03 11:16:47 -05:00
github-actions[bot] 11ceaffbeb chore(release): 7.51.0-dev.9 [skip ci] 2026-03-03 16:14:59 +00:00
Kai (Tam Nhu) TranandGitHub b4563a0176 Merge pull request #668 from kaitranntt/kai/wip/post-merge-pr660-260303-211636
fix(usage): harden cliproxy refresh lifecycle
2026-03-03 11:13:34 -05:00
Tam Nhu Tran 91050bfebf test(pricing): cover Claude 4.6 cache token cost rates 2026-03-03 23:09:51 +07:00
Tam Nhu Tran d31f85b0d4 fix(pricing): handle date-stamped 4.6 thinking model IDs 2026-03-03 23:08:04 +07:00
Tam Nhu Tran 383ac94623 test(usage): add cliproxy sync and integration coverage
- add transformer unit tests for flattening and daily/hourly/monthly rollups

- add syncer tests for snapshot persistence and idempotent interval start

- add aggregator integration test for JSONL + CLIProxy merge behavior
2026-03-03 23:05:24 +07:00
Tam Nhu Tran 09ce1a9379 fix(usage): coalesce refresh and force live sync on refresh
- share one full-refresh promise across usage loaders to avoid duplicate work

- sync CLIProxy snapshot before source refresh and start sync lazily

- make refresh handler execute full refresh with proper error response

- reset pending cache state and guard sync interval double-start
2026-03-03 23:05:24 +07:00
Tam Nhu Tran e8519b6ac3 fix(web-server): run usage cleanup during dashboard shutdown
- pass server cleanup callback into graceful shutdown wiring

- stop usage aggregator background sync when config server exits

- prevent orphaned sync intervals across dashboard restarts
2026-03-03 23:05:24 +07:00
theodep 9a7ca3f1c0 feat(pricing): fix claude sonnet 4.6 and claude opus 4.6 pricing 2026-03-03 16:27:06 +01:00
github-actions[bot] d1b4c5fbdf chore(release): 7.51.0-dev.8 [skip ci] 2026-03-03 14:15:59 +00: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
github-actions[bot] 6aceb6b27a chore(release): 7.51.0-dev.7 [skip ci] 2026-03-03 14:14:29 +00:00
Kai (Tam Nhu) TranandGitHub 6810adf41f Merge pull request #662 from kaitranntt/kai/feat/657-cross-profile-continuity-inheritance
feat(continuity): support cross-profile continuity inheritance from account profiles
2026-03-03 09:13:11 -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 26f4fb3a99 test(auth): cover legacy alias isolation for continuity
- add legacy-mode regression for km mapping not leaking into kimi cliproxy
2026-03-03 03:03:06 +07:00
Tam Nhu Tran d827c3ab0b fix(auth): scope km alias mapping to settings profiles
- prevent km continuity mappings from affecting kimi cliproxy executions

- apply canonical alias fallback only for settings profile lookups

- add regression test for cross-type alias isolation
2026-03-03 02:58:49 +07:00
Tam Nhu Tran 1eb41cc4e2 fix(config): merge legacy and unified continuity maps
- combine continuity.inherit_from_account with legacy continuity_inherit_from_account

- prefer unified continuity entries on key collisions

- add regression coverage for mixed-key merge behavior
2026-03-03 02:49:18 +07:00
Tam Nhu Tran 8a45727b31 fix(auth): harden continuity inheritance resolution
- resolve mappings with alias/canonical profile candidates

- fail open when source account initialization errors

- remove metadata touch side effects from inheritance preflight
2026-03-03 02:49:17 +07:00
Tam Nhu Tran 0b9f9826e2 feat(continuity): support cross-profile continuity inheritance from account profiles 2026-03-03 02:49:17 +07:00
github-actions[bot] dbe8f6f68c chore(release): 7.51.0-dev.6 [skip ci] 2026-03-02 19:38:32 +00:00
Kai (Tam Nhu) TranandGitHub 533d98fc3b Merge pull request #661 from kaitranntt/kai/feat/659-comprehensive-vietnamese-i18n
feat(i18n): add comprehensive Vietnamese dashboard locale
2026-03-02 14:37:18 -05:00
Tam Nhu Tran b07c62cc21 fix(i18n): complete Vietnamese dashboard copy QA polish 2026-03-03 02:30:00 +07:00
Tam Nhu Tran f3f315e86a fix(i18n): polish remaining Vietnamese copy for dashboard context 2026-03-03 02:23:52 +07:00
Tam Nhu Tran 758fcc7754 fix(i18n): refine Vietnamese dashboard translation quality 2026-03-03 02:21:00 +07:00
Tam Nhu Tran 7893436038 feat(i18n): add comprehensive Vietnamese dashboard locale 2026-03-03 02:09:46 +07:00
github-actions[bot] 593e7fd031 chore(release): 7.51.0-dev.5 [skip ci] 2026-03-02 19:01:33 +00:00
Kai (Tam Nhu) TranandGitHub a0493a306e Merge pull request #658 from kaitranntt/kai/feat/cliproxy-multi-provider-analytics
feat(analytics): integrate CLIProxy multi-provider usage into dashboard
2026-03-02 14:00:16 -05:00