Commit Graph
1792 Commits
Author SHA1 Message Date
kaitranntt 8095a4bc07 ci: optimize build pipeline to eliminate redundant builds
- validate now uses test:all directly (build already done)
- Added test:ci script for explicit CI usage
- ci.yml now builds UI deps and uses build:all
- dev-release.yml separates build and validate steps
- Reduces build count from 3-4 to 1 per release cycle
2025-12-09 17:47:33 -05:00
github-actions[bot] 70d54b9fe1 chore(release): 5.12.1-dev.3 [skip ci] 2025-12-09 22:42:34 +00:00
kaitranntt 8f6684f948 feat(cliproxy): add --use and --accounts flags for multi-account switching
- Add findAccountByQuery() to search accounts by nickname/email/id
- Add --accounts flag to list all accounts for a provider
- Add --use <name> flag to switch between accounts
- Filter CCS-specific flags from Claude CLI args
- Update help documentation with new multi-account commands
2025-12-09 17:28:41 -05:00
kaitranntt 8f5c006f07 feat(ui): simplify CLIProxy page UX with dedicated Add Account dialog
- Remove redundant "Create Variant" button (Quick Setup is more comprehensive)
- Add AddAccountDialog component for per-provider account addition
- Keep "Quick Setup" for full variant creation wizard
- Keep "Add Account" per-row for adding accounts only
2025-12-09 16:51:24 -05:00
kaitranntt d868dc4c32 feat(cliproxy): add multi-account support phases 02-03
Phase 02 - CLI Account Selector in Variant Wizard:
- Add --account flag to cliproxy create command
- Implement inline OAuth flow when no accounts exist
- Add account selector for multiple accounts
- Auto-select single account

Phase 03 - Dashboard Quick Setup Wizard:
- Create quick-setup-wizard.tsx component
- Add step-by-step wizard: Provider → Auth → Account → Variant → Success
- Add Quick Setup button to CLIProxy page
2025-12-09 16:27:31 -05:00
kaitranntt 493492fa7e feat(cliproxy): add --add flag and nickname support for multi-account auth
- Add `--add` flag to skip confirm prompt when adding accounts
- Add confirm prompt when accounts exist and --add not specified
- Add nickname field to AccountInfo (auto-generated from email prefix)
- Add generateNickname() and validateNickname() utility functions
- Update triggerOAuth() to accept add option
- Update registerAccountFromToken() to pass nickname
- Update help text with --add flag documentation
2025-12-09 16:14:28 -05:00
kaitranntt 1e11d2e40a feat(analytics): aggregate usage from all CCS auth profiles
Add multi-instance support to usage analytics. The dashboard now
aggregates usage data from ~/.claude/ AND all CCS instances in
~/.ccs/instances/<profile>/.

- Add getInstancePaths() to discover CCS instances with usage data
- Add loadInstanceData() to load data from specific instance
- Add merge functions for daily/monthly/session data with deduplication
- Modify refreshFromSource() to aggregate from all instances sequentially
- Merge by date/sessionId to avoid double-counting overlapping usage
2025-12-09 15:15:55 -05:00
kaitranntt f255a20a93 feat(analytics): refactor model color management and fix UI display issues
- Extract getModelColor utility to lib/utils.ts with improved FNV-1a hash algorithm
- Replace hardcoded color palette with vibrant tones palette
- Remove color constants from model-breakdown-chart.tsx
- Fix truncated model names in analytics display
- Update project roadmap with analytics enhancements
2025-12-09 14:44:56 -05:00
github-actions[bot] 00cf5c20dd chore(release): 5.12.1-dev.2 [skip ci] 2025-12-09 18:02:34 +00:00
kaitranntt 96d9fc68e9 feat(dashboard): add Environment and OAuth Readiness groups to health page
Bring OAuth diagnostics from ccs doctor to web dashboard:

- Add Environment group showing platform, SSH, TTY, browser capability
- Add OAuth Readiness group showing port availability (8085, 1455, 51121)
- Reuse existing environment-diagnostics and oauth-port-diagnostics modules

The dashboard health page now has 7 groups matching ccs doctor output.
2025-12-09 13:00:04 -05:00
github-actions[bot] d576e5e1f2 chore(release): 5.12.1-dev.1 [skip ci] 2025-12-09 17:53:13 +00:00
kaitranntt 92007d7c04 feat(doctor): add OAuth diagnostics for Windows headless false positives
Add environment and OAuth port diagnostics to help troubleshoot
authentication issues reported by Windows users:

- Add ENVIRONMENT section showing platform, SSH, TTY, browser capability
- Add OAUTH READINESS section with pre-flight port availability checks
- Fix Windows headless false positive (isTTY undefined on npm wrappers)
- Add pre-flight OAuth check before auth attempt to fail fast

New files:
- src/management/environment-diagnostics.ts
- src/management/oauth-port-diagnostics.ts

Case study: Vietnamese Windows users reported "command hangs" because
Windows terminal wrappers don't set isTTY correctly, triggering
headless mode when browser should be available.
2025-12-09 12:50:38 -05:00
semantic-release-bot a7410bc104 chore(release): 5.12.1 [skip ci]
## [5.12.1](https://github.com/kaitranntt/ccs/compare/v5.12.0...v5.12.1) (2025-12-09)

### Performance Improvements

* **analytics:** instant dashboard loading with disk cache persistence ([abb156d](https://github.com/kaitranntt/ccs/commit/abb156d9f4064d078a953966082e06059ad52d80))
2025-12-09 06:13:26 +00:00
Kai (Tam Nhu) TranandGitHub 9cd44acd57 Merge pull request #69 from kaitranntt/dev
perf(analytics): instant dashboard loading with disk cache persistence
2025-12-09 01:12:31 -05:00
github-actions[bot] 4c248ec71a chore(release): 5.12.0-dev.1 [skip ci] 2025-12-09 06:10:24 +00:00
kaitranntt abb156d9f4 perf(analytics): instant dashboard loading with disk cache persistence
- Add React lazy loading for heavy pages (Analytics, Settings, etc.)
- Remove blocking prewarmUsageCache() from server startup
- Add disk cache module for persistent usage data storage
- Fix disk cache not being created on first Analytics visit
- Write cache immediately when daily data available (don't wait for all 3 types)

Dashboard now loads in <10ms from disk cache instead of waiting for
better-ccusage library on every visit.
2025-12-09 01:07:42 -05:00
semantic-release-bot 23e66c2eb9 chore(release): 5.12.0 [skip ci]
# [5.12.0](https://github.com/kaitranntt/ccs/compare/v5.11.0...v5.12.0) (2025-12-09)

### Bug Fixes

* **security:** improve API key detection patterns to prevent false positives ([efb42ba](https://github.com/kaitranntt/ccs/commit/efb42ba8f6adfa5128c4974d43140fd640b826a1))
* **ui:** reduce focus ring size to prevent overlapping content ([639eec7](https://github.com/kaitranntt/ccs/commit/639eec7930c4f34dacd0fb2326de87ed640d8e74))
* **ui:** update dropdown menu item SVG color on focus ([ed5c3fc](https://github.com/kaitranntt/ccs/commit/ed5c3fc83ab4117263e74aaf29a4df8d63a8e5c1))
* **web:** correct skill detection to look for SKILL.md instead of prompt.md ([13194fe](https://github.com/kaitranntt/ccs/commit/13194fecbe575e83bd6f366e2aca1d92922ccd24))

### Features

* **analytics:** add usage analytics page with caching layer ([a721af3](https://github.com/kaitranntt/ccs/commit/a721af3cf3ff618603e982aa2fda47980251c4e4))
* **cli:** Introduce version utility and command updates ([d77f07e](https://github.com/kaitranntt/ccs/commit/d77f07e09376e410bf693d40d3ac646e2f35465c))
* **cliproxy:** promote thinking models as default for agy provider ([1475adb](https://github.com/kaitranntt/ccs/commit/1475adb61649fc9ac5d7e66845649f3eb63f88b0))
* **ui:** add modular health dashboard components ([4ff6f08](https://github.com/kaitranntt/ccs/commit/4ff6f085122c20209e73fcbda457175fb47958de))
* **ui:** Enhance web overview with new components and data ([cc16556](https://github.com/kaitranntt/ccs/commit/cc1655624c08e8f0f20cd0416831272affe9fdf0))
* **ui:** redesign health dashboard to match ccs doctor output ([8aae0db](https://github.com/kaitranntt/ccs/commit/8aae0db7da9e691e9a35d222d6828d6e658c49c4))

### Performance Improvements

* **analytics:** add cache pre-warming and SWR pattern for instant page load ([69e6a32](https://github.com/kaitranntt/ccs/commit/69e6a322248d3952156784520a9e264b7f24c0e8))
2025-12-09 04:27:54 +00:00
Kai (Tam Nhu) TranandGitHub df0a751fd9 feat!: web dashboard, analytics, and CLIProxy multi-account support 2025-12-08 23:26:55 -05:00
github-actions[bot] 0075afa48f chore(release): 5.11.0-dev.8 [skip ci] 2025-12-09 04:23:15 +00:00
kaitranntt 1475adb616 feat(cliproxy): promote thinking models as default for agy provider
- Remove deprecated flag from Claude Opus 4.5 Thinking and Sonnet 4.5 Thinking
- Reorder models with thinking models at top (Opus → Sonnet Thinking → Sonnet → Gemini)
- Change default model to gemini-claude-opus-4-5-thinking
- Update tests to reflect new ordering and non-deprecated status
2025-12-08 23:21:17 -05:00
github-actions[bot] f15754d30f chore(release): 5.11.0-dev.7 [skip ci] 2025-12-09 04:11:45 +00:00
kaitranntt 69e6a32224 perf(analytics): add cache pre-warming and SWR pattern for instant page load
- Add server-side cache pre-warming on startup (non-blocking)
- Implement stale-while-revalidate pattern (1hr stale window)
- Add /api/usage/status endpoint for cache status
- Remove full-page blocking skeleton, use per-component loading
- Add "Updated X ago" timestamp indicator in UI header
- Export AnalyticsSkeleton component for potential future use
2025-12-08 23:09:01 -05:00
github-actions[bot] 382150f312 chore(release): 5.11.0-dev.6 [skip ci] 2025-12-09 02:50:22 +00:00
kaitranntt a721af3cf3 feat(analytics): add usage analytics page with caching layer
- Add Analytics page with usage trends, model breakdown, sessions table
- Add server-side caching layer for better-ccusage data (TTL-based)
- Add request coalescing to prevent duplicate concurrent API calls
- Add /api/usage/refresh endpoint to manually clear cache
- Add date-range filter, summary cards, trend charts components
- Fix API parameter mismatch (since/until in YYYYMMDD format)
- Wire up Refresh button with loading state animation
2025-12-08 21:47:36 -05:00
github-actions[bot] 57032eec5e chore(release): 5.11.0-dev.5 [skip ci] 2025-12-08 21:34:41 +00:00
kaitranntt efb42ba8f6 fix(security): improve API key detection patterns to prevent false positives
- Change from substring to pattern-based matching for sensitive keys
- Prevents ANTHROPIC_MAX_TOKENS from being incorrectly censored
- Synchronize backend and UI detection logic for consistency
2025-12-08 16:32:52 -05:00
kaitranntt 639eec7930 fix(ui): reduce focus ring size to prevent overlapping content 2025-12-08 16:32:52 -05:00
github-actions[bot] 792c5244ac chore(release): 5.11.0-dev.4 [skip ci] 2025-12-08 21:16:56 +00:00
kaitranntt 13194fecbe fix(web): correct skill detection to look for SKILL.md instead of prompt.md
The Skills page was only showing 4 skills instead of 38 because it was
looking for prompt.md files instead of SKILL.md files in the skills
directory. Updated the detection logic to check for SKILL.md for skills
and prompt.md for agents.
2025-12-08 16:14:30 -05:00
kaitranntt ed5c3fc83a fix(ui): update dropdown menu item SVG color on focus
- Add focus:[&_svg:not([class*='text-'])]:text-current to DropdownMenuItem
- Add focus:[&_svg:not([class*='text-'])]:text-current to DropdownMenuSubTrigger
- Ensures SVG icons inherit text color on focus for better visibility
2025-12-08 16:08:15 -05:00
github-actions[bot] 393992377e chore(release): 5.11.0-dev.3 [skip ci] 2025-12-08 20:20:26 +00:00
kaitranntt 4ff6f08512 feat(ui): add modular health dashboard components
- Add health-gauge component for visual status representation
- Add health-group-section for organized health checks display
- Add health-stats-bar for summary statistics
- Refactor health-check-item with improved structure
- Update health.tsx to use new modular components
2025-12-08 15:18:02 -05:00
github-actions[bot] 9c3004294d chore(release): 5.11.0-dev.2 [skip ci] 2025-12-08 20:02:37 +00:00
kaitranntt 8aae0db7da feat(ui): redesign health dashboard to match ccs doctor output
- Rewrite health-service.ts with 20+ comprehensive checks in 5 groups
  (System, Configuration, Profiles & Delegation, System Health, CLIProxy)
- Add async support for port checking functionality
- Create new health-check-item.tsx component with collapsible design
- Redesign health.tsx with professional grouped layout, hero section,
  summary stats, and issues panel with actionable fix commands
- Update use-health.ts with HealthGroup type support
- Add development server documentation to CLAUDE.md
2025-12-08 15:00:07 -05:00
github-actions[bot] e8a39d75c8 chore(release): 5.11.0-dev.1 [skip ci] 2025-12-08 19:14:11 +00:00
kaitranntt cc1655624c feat(ui): Enhance web overview with new components and data 2025-12-08 14:11:44 -05:00
kaitranntt d77f07e093 feat(cli): Introduce version utility and command updates 2025-12-08 14:11:11 -05:00
semantic-release-bot b321edd99d chore(release): 5.11.0 [skip ci]
# [5.11.0](https://github.com/kaitranntt/ccs/compare/v5.10.0...v5.11.0) (2025-12-08)

### Bug Fixes

* **cliproxy:** map token type values to provider names for account discovery ([17caf80](https://github.com/kaitranntt/ccs/commit/17caf804ba02cab878b3f1476ec02f0f0697d6f1))
* **ui:** improve cliproxy dashboard layout and dropdown styling ([10d0550](https://github.com/kaitranntt/ccs/commit/10d05502f305f5f351562da8b0aa2b64dca41a4c))
* **ui:** remove padding from cliproxy card ([3a1e8c0](https://github.com/kaitranntt/ccs/commit/3a1e8c0afc69b1ca612a267e373b62f80a34c8ce))

### Features

* **cliproxy:** add multi-account support for CLIProxy providers ([4dc17fa](https://github.com/kaitranntt/ccs/commit/4dc17fac4f655e31afc0e491aa43f7a9c3f64df1))
2025-12-08 06:14:28 +00:00
Kai (Tam Nhu) TranandGitHub 12334bf79f Merge pull request #67 from kaitranntt/dev
feat(web-dashboard): add multi-account support and reactive dashboard
2025-12-08 01:13:35 -05:00
github-actions[bot] a7a4954092 chore(release): 5.10.0-dev.1 [skip ci] 2025-12-08 06:06:39 +00:00
Kai (Tam Nhu) TranandGitHub f6f8bf98fa Merge pull request #66 from kaitranntt/kai/fix/cliproxy-gemini-auth
feat(ui): standardize layout across all dashboard pages
2025-12-08 01:04:53 -05:00
kaitranntt ffb6e066a7 refactor(ui): standardize page layout across all routes
Applied consistent centered layout (max-w-6xl mx-auto) from cliproxy page
to all pages except home page. Updated spacing to space-y-8 for uniformity.
2025-12-08 01:01:32 -05:00
kaitranntt 17caf804ba fix(cliproxy): map token type values to provider names for account discovery 2025-12-08 00:40:03 -05:00
kaitranntt 3a1e8c0afc fix(ui): remove padding from cliproxy card 2025-12-08 00:34:07 -05:00
kaitranntt 10d05502f3 fix(ui): improve cliproxy dashboard layout and dropdown styling 2025-12-08 00:28:06 -05:00
kaitranntt 4dc17fac4f feat(cliproxy): add multi-account support for CLIProxy providers
- Implement account-manager.ts for managing multiple OAuth accounts per provider
- Add account selector in UI dialog with dropdown for authenticated accounts
- Extend auth-handler.ts to support account registration and multi-account authentication
- Update web-server routes with account management endpoints (GET/POST/DELETE)
- Add account badges and management UI in cliproxy page
- Support account field in CLIProxy variant configuration
- Add Badge component from shadcn/ui for UI styling
- Enable default account selection and account removal functionality
2025-12-08 00:16:49 -05:00
semantic-release-bot 68f165e9ed chore(release): 5.10.0 [skip ci]
# [5.10.0](https://github.com/kaitranntt/ccs/compare/v5.9.0...v5.10.0) (2025-12-08)

### Bug Fixes

* **glmt:** add bearer prefix for openai-compatible endpoints ([077a406](https://github.com/kaitranntt/ccs/commit/077a406df6f79fdd0e343c3b6b3d0860a3d41a87)), closes [#61](https://github.com/kaitranntt/ccs/issues/61)
* **glmt:** pass env vars to proxy subprocess ([e17a068](https://github.com/kaitranntt/ccs/commit/e17a068a58c7dee67a33852860e5bcae051a7f37))
* **ui:** adjust layout of localhost disclaimer ([ad5859c](https://github.com/kaitranntt/ccs/commit/ad5859c157271c111f1bbc437060770746d3394e))
* **ui:** improve table column widths and spacing ([9b4a5d8](https://github.com/kaitranntt/ccs/commit/9b4a5d80c5c398c7165426dac2a88a8e9443ff3a))
* **ui:** prettier formatting for documentation link ([d11071a](https://github.com/kaitranntt/ccs/commit/d11071ad90d6ed3886b437b3ac15b3818d5b2585))
* **ui:** suppress react compiler warning in profiles-table ([cf072c0](https://github.com/kaitranntt/ccs/commit/cf072c03b269d9df93ec014905b50d41a78a83bd))

### Features

* **build:** disable commitlint subject-case rule and add clean-dist script ([5947532](https://github.com/kaitranntt/ccs/commit/5947532fc65ba39a70f422b314fad103603e00af))
* **cliproxy:** add authentication status display to web dashboard ([a283f94](https://github.com/kaitranntt/ccs/commit/a283f942a9712f97c5789ea39a508da1d5305a79))
* **cliproxy:** deprecate claude thinking models in agy provider ([63b3ca7](https://github.com/kaitranntt/ccs/commit/63b3ca776079634fcf59f231e51ad8947795b2a0))
* **completions:** enhance cliproxy help and update shell completion scripts ([59a2f2b](https://github.com/kaitranntt/ccs/commit/59a2f2b717a97447759ff68fdb8eca81908a9d88))
* **doctor:** improve port detection with process identification ([98fd1be](https://github.com/kaitranntt/ccs/commit/98fd1bedb9b38c4900f8cc4049d74347d407d499))
* **ui:** add accounts and cliproxy management dashboard ([03059db](https://github.com/kaitranntt/ccs/commit/03059dbdccaca9736ae45c0754543e59c2a3e0f6))
* **ui:** add ccs branding assets and logo component ([1b16305](https://github.com/kaitranntt/ccs/commit/1b163050f795f1a7a75be203895f1addd6d21f8e))
* **ui:** add comprehensive quality gates and fix linting issues ([707af2f](https://github.com/kaitranntt/ccs/commit/707af2f01a67264f7722afcd53ac3f6246aefc89))
* **ui:** enhance settings dialog with tabbed interface and scrollable areas ([4adb94b](https://github.com/kaitranntt/ccs/commit/4adb94b90cf9e16929fef14ed46d474e07e9c131))
* **ui:** enhance visual contrast and update project link ([c65d9c9](https://github.com/kaitranntt/ccs/commit/c65d9c9c3484f8053e2b4315198ee29a4c3be2b0))
* **ui:** redesign sidebar and fix disclaimer ([c8890f3](https://github.com/kaitranntt/ccs/commit/c8890f33c2e9e15fdf89bb2b467eda2c836d95d2))
* **ui:** reorganize theme colors and add dev script ([235bd6b](https://github.com/kaitranntt/ccs/commit/235bd6b36a28e63661123344c983f5d06ee1b3aa))
* **ui:** update theme colors to match brand palette ([b5f22e4](https://github.com/kaitranntt/ccs/commit/b5f22e415b865eba59c6458488409f2db4e29f5a))
* **web-dashboard:** add dev mode with hmr and optimize build ([23a3382](https://github.com/kaitranntt/ccs/commit/23a33820c03fe26bcf12bd3b2432ce50a88b90d1))
* **web-dashboard:** add express server and react ui scaffolding ([6a6f2a2](https://github.com/kaitranntt/ccs/commit/6a6f2a24638cdaeec7868e9742da066c0d8cdc6b))
* **web-dashboard:** add rest api and real-time sync ([56502ab](https://github.com/kaitranntt/ccs/commit/56502ab6a8deae4d7cafe76de46b5cc156398f85))
* **web-dashboard:** complete settings, health, shared data and build integration ([5975802](https://github.com/kaitranntt/ccs/commit/59758024c92005016087264ed5caa0738cbcb1b2))
* **web:** enhance dashboard functionality and ui components ([6e2da64](https://github.com/kaitranntt/ccs/commit/6e2da6458a0f574dbe32e555c9725d766e3c861c))
* **web:** update shared routes and home page for dashboard ([e078f15](https://github.com/kaitranntt/ccs/commit/e078f152976661c410ca0a8cd502a6bd3b56e056))
2025-12-08 04:46:53 +00:00
Kai (Tam Nhu) TranandGitHub 4bde7da93f Merge pull request #65 from kaitranntt/dev
feat(web-dashboard): add complete dashboard ui and improve cliproxy functionality
2025-12-07 23:46:00 -05:00
github-actions[bot] 2a5292bd77 chore(release): 5.9.0-dev.7 [skip ci] 2025-12-08 04:35:18 +00:00
kaitranntt 5947532fc6 feat(build): disable commitlint subject-case rule and add clean-dist script
- Disable subject-case rule in commitlint to allow capital letters in commit subjects
- Add clean-dist.js script to preserve UI bundle during TypeScript builds
- Update package.json prebuild script to use new clean-dist.js
2025-12-07 23:33:03 -05:00