Commit Graph
100 Commits
Author SHA1 Message Date
Tam Nhu Tran a63417e567 fix(ci): sync bun.lock for browser MCP types 2026-04-13 08:33:29 -04:00
Tam Nhu Tran 18e5cd5d94 feat(ui): persist paused account toggle state in localStorage 2026-04-12 16:59:04 -04:00
Tam Nhu Tran 8d8f4469b6 fix(websearch): reject blank searxng status urls 2026-04-12 14:46:56 -04:00
Tam Nhu Tran 54791b5cca Merge remote-tracking branch 'origin/dev' into kai/fix/958-searxng-pr-review 2026-04-12 06:32:27 -04:00
Tam Nhu Tran 8b553c35c1 fix(websearch): harden searxng url handling 2026-04-12 06:31:20 -04:00
Tam Nhu Tran 2719d7a6f7 fix(cursor): align auto-detect status and CI coverage 2026-04-12 04:42:28 -04:00
Tam Nhu Tran cf5df0630a fix(cursor): resolve PR review findings 2026-04-12 02:14:26 -04:00
Tam Nhu Tran e1049e38d4 feat(cursor): harden live probe and runtime contracts 2026-04-12 01:51:26 -04:00
Tam Nhu Tran 898e7a6321 hotfix: detect bun-owned installs through symlinked ccs path 2026-04-12 01:33:48 -04:00
Tam Nhu Tran 5076b212af fix(ui): clarify Gemini quota tooltip labels 2026-04-12 01:24:40 -04:00
Tam Nhu Tran 5f8e66ec1e hotfix: detect bun-owned installs through symlinked ccs path 2026-04-12 01:22:15 -04:00
Tam Nhu Tran 7776715eba fix(docker): delegate restart/install to supervisorctl in Docker deployments
The dashboard restart button and install service used local-mode process
management (stopProxy + ensureCliproxyService) which conflicts with
supervisord in Docker deployments. Killing the CLIProxy binary caused the
bootstrap wrapper to exit, supervisord to attempt a restart, but
ensureCliproxyService already spawned an orphaned process on :8317
resulting in EADDRINUSE and supervisord entering FATAL state.

Detect supervisord via /var/run/supervisor.sock and delegate to
supervisorctl restart, matching the pattern already used by
ccs docker update.

Closes #964
2026-04-11 17:50:11 -04:00
Tam Nhu Tran ef751723f5 test(ci): stop leaking update-command module mocks 2026-04-10 23:57:58 -04:00
Tam Nhu Tran b8aa59a8f0 test(ci): isolate config env and cli entry fallbacks 2026-04-10 23:26:12 -04:00
Tam Nhu Tran 4b9fa4e457 test(cliproxy): isolate session tracker config env 2026-04-10 23:19:49 -04:00
Tam Nhu Tran 94bcad2d1a fix(update): align no-update dependency injection 2026-04-10 23:06:37 -04:00
Tam Nhu Tran a4496ff1d9 fix(update): harden install verification flow 2026-04-10 22:44:46 -04:00
Tam Nhu Tran 59e04cb56f fix(update): isolate updater test dependencies 2026-04-10 22:27:07 -04:00
Tam Nhu Tran 2aaabb2deb fix(update): target the current CCS installation 2026-04-10 21:39:50 -04:00
Tam Nhu Tran c078a96337 fix(ui): type shared AGY compatibility lookup 2026-04-10 18:08:28 -04:00
Tam Nhu Tran 9458c432d8 chore: merge origin/dev into feature branch 2026-04-10 18:07:28 -04:00
Tam Nhu Tran 25dd9ab9e1 fix(cliproxy): align AGY preset aliases 2026-04-10 18:07:22 -04:00
Tam Nhu Tran 34d70442bf fix(cliproxy): keep new live provider models selectable 2026-04-10 18:07:22 -04:00
Tam Nhu Tran 0e4677f558 fix: sanitize cliproxy provider model pickers 2026-04-10 18:07:22 -04:00
Tam Nhu Tran 01c1193a99 fix(ui): guard optional raw model fields
- trim nullable alias and name fields safely in the raw model formatter

- satisfy strict TypeScript checks for partial raw config records

Refs #941
2026-04-10 17:47:37 -04:00
Tam Nhu Tran 42d5724f34 fix(ui): accept partial raw model records
- allow raw JSON model arrays with partial fields to format safely

- keep the requested=upstream review fixes compatible with raw editor input

Refs #941
2026-04-10 17:46:18 -04:00
Tam Nhu Tran 52ac29e7a8 fix(api): constrain preset target defaults
- limit preset default targets to persisted API profile targets

- add regression coverage for preset target resolution and profile target persistence
2026-04-10 17:44:25 -04:00
Tam Nhu Tran 92a769d773 fix(ui): harden provider model alias editing
- keep raw JSON model mappings aligned with requested=upstream semantics

- block malformed mapping lines instead of coercing them on save

- render saved mappings as requested to upstream and add regression coverage

Refs #941
2026-04-10 17:44:15 -04:00
Tam Nhu Tran e090c8b0d4 fix(image-analysis): preserve default runtime deps 2026-04-10 17:40:27 -04:00
Tam Nhu Tran 414e8c80f5 docs(roadmap): record Hugging Face preset support 2026-04-10 17:29:46 -04:00
Tam Nhu Tran 83255f4771 feat(api): add Hugging Face provider preset
- add the huggingface preset and hf alias to the shared preset catalog

- default the preset to Factory Droid because the documented path is generic chat completions

- cover the CLI and dialog behavior with preset metadata and UI tests
2026-04-10 17:29:25 -04:00
Tam Nhu Tran 49c4338f28 fix(ui): preserve requested provider model aliases
- keep requested=upstream semantics stable in the AI Providers editors

- preview the client-visible ANTHROPIC_MODEL instead of the upstream target

- add UI coverage for alias parsing and formatting helpers

Refs #941
2026-04-10 17:28:18 -04:00
Tam Nhu Tran 2f02ddfb74 fix(image-analysis): tolerate missing auth init dependency 2026-04-10 17:21:26 -04:00
Tam Nhu Tran 92a24786d6 fix(cliproxy): use type-only account provider import 2026-04-10 14:32:45 -04:00
Tam Nhu Tran b56b58c067 fix(cliproxy): preserve entitlement evidence on agy failures 2026-04-10 14:28:32 -04:00
Tam Nhu Tran 506b61eca6 fix(cliproxy): propagate agy entitlement failure metadata 2026-04-10 14:19:02 -04:00
Tam Nhu Tran 7c4545eb1b fix(cliproxy): attach entitlement evidence to agy failures 2026-04-10 13:42:51 -04:00
Tam Nhu Tran 7330fdbf28 fix(cliproxy): prefer live entitlement tier in account badges 2026-04-10 13:24:00 -04:00
Tam Nhu Tran f9c61e0fac docs(cliproxy): clarify gemini and agy tier semantics 2026-04-10 13:18:18 -04:00
Tam Nhu Tran bb331ff5d8 feat(cliproxy): add entitlement evidence for gemini and agy 2026-04-10 13:17:50 -04:00
Tam Nhu Tran 5f9bafe9cd fix(ui): address provider lane review notes 2026-04-10 06:31:58 -04:00
Tam Nhu Tran ad70f93b1b feat(ui): reposition providers around quality and local lanes 2026-04-10 05:50:26 -04:00
Tam Nhu Tran 63b67f1c1c feat(profiles): add local runtime readiness checks 2026-04-10 05:49:38 -04:00
Tam Nhu Tran d87a126938 test(cliproxy): cover managed pinned route hints 2026-04-10 01:16:31 -04:00
Tam Nhu Tran eaddfc467f fix(cliproxy): dedupe variant prefix sync 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 40c4816acf fix(cliproxy): harden pinned routing follow-up 2026-04-10 01:16:31 -04:00
Tam Nhu Tran b6aa6fb0d4 fix(cliproxy): cover managed prefix review follow-up 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 0c10cb6f47 fix(cliproxy): harden routing prefix sync and UI pinning 2026-04-10 01:16:31 -04:00
Tam Nhu Tran b8a8f84153 docs(roadmap): note cliproxy routing prefix clarity 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 4d5e52828b feat(cliproxy): add pinned model routing prefixes 2026-04-10 01:16:31 -04:00
Tam Nhu Tran aedccec041 refactor(ui): align visible provider flow data 2026-04-09 18:31:49 -04:00
Tam Nhu Tran 94eda996e3 fix(ui): clarify filtered flow viz metrics 2026-04-09 17:51:37 -04:00
Tam Nhu Tran 3687de0625 fix(ui): add paused filter locale strings 2026-04-09 17:48:51 -04:00
Tam Nhu Tran 7b2743b845 test(ui): cover paused account flow viz filtering 2026-04-09 17:44:20 -04:00
Tam Nhu Tran a169917692 feat(ui): add paused filter to account flow viz 2026-04-09 17:44:15 -04:00
Tam Nhu Tran 7ac6d0a4d4 fix(review): harden quota retry and tooltip edge cases 2026-04-09 00:14:51 -04:00
Tam Nhu Tran b6fb443f57 fix(cliproxy): refresh non-default gemini quota tokens 2026-04-08 23:55:55 -04:00
Tam Nhu Tran a70eae558e fix(ui): restore searchable-select dropdown scrolling
- replace the popover list scroll area with a native overflow container

- keep keyboard navigation behavior while restoring wheel scroll in long dropdowns
2026-04-08 18:02:05 -04:00
Tam Nhu Tran 87f00c524d fix(ui): gate preset catalog reuse on query readiness
- only reuse provider catalogs after /api/cliproxy/catalog has resolved

- avoid passing synthesized static fallback catalogs into preset application

- cover quick-setup and cliproxy add-account flows with regression tests
2026-04-08 18:01:30 -04:00
Tam Nhu Tran 564ed3def7 fix(ui): reuse cached cliproxy catalogs for presets
- let applyDefaultPreset accept a caller-provided provider catalog

- pass cached catalog data from cliproxy and quick-setup flows

- add regression coverage for skipping the extra catalog fetch
2026-04-08 17:52:45 -04:00
Tam Nhu Tran 002b7feb1e docs(roadmap): record upstream cliproxy picker sync 2026-04-08 17:23:35 -04:00
Tam Nhu Tran 7bbf32ae9a feat(cliproxy): source model pickers from upstream catalogs
- fetch live provider model definitions through /api/cliproxy/catalog

- overlay CCS preset metadata without keeping UI dropdowns as the source of truth

- wire /cliproxy and quick setup to the upstream-backed catalog path
2026-04-08 17:23:35 -04:00
Tam Nhu Tran 1923fce2ed fix(logging): harden log storage and cleanup 2026-04-08 16:34:36 -04:00
Tam Nhu Tran a47cf022c6 test(logging): stabilize log reader cache refresh coverage 2026-04-08 16:06:45 -04:00
Tam Nhu Tran 6e39f338ce fix(logs-ui): stabilize the dashboard log layout 2026-04-08 15:57:15 -04:00
Tam Nhu Tran 42481c0bb9 fix(logging): address review feedback on cleanup and log reader 2026-04-08 15:57:15 -04:00
Tam Nhu Tran 382aa04ca0 feat(logs-ui): redesign the log viewer workspace
- reshape the page into a management-center style control surface

- add activity and CLIProxy error tabs with denser list/detail ergonomics

- switch filters to practical chip groups and update the page tests

Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran 4c15a072dc fix(ci): track dashboard logs components
- unignore the new ui logs component directory

- add the missing logs viewer components required by ui build

Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran 6c799b2e58 feat(logging): unify CCS runtime logs and dashboard viewer
- add a shared structured logging service with bounded retention

- expose native /api/logs endpoints and the dashboard /logs route

- wire focused runtime emitters, cleanup support, and feature tests

Refs #926
2026-04-08 15:57:15 -04:00
Tam Nhu Tran 548edda58b docs(logging): document structured logs workspace
- add roadmap note for the new CCS logging surface

- record logging architecture and codebase ownership

- add logging standards for bounded, redacted runtime logs

Refs #926
2026-04-08 15:57:14 -04:00
Tam Nhu Tran 5d1880abf5 docs(image-analysis): update MCP-first behavior docs 2026-04-08 13:36:45 -04:00
Tam Nhu Tran 64ecd8b3dc feat(image-analysis): make MCP-first provisioning self-healing 2026-04-08 13:36:05 -04:00
Tam Nhu Tran 103f0547c9 fix(recovery): harden shared commands startup recovery 2026-04-08 11:00:18 -04:00
Tam Nhu Tran 5bb5faa4b7 fix(cliproxy): tighten sidebar routing presentation 2026-04-07 19:48:07 -04:00
Tam Nhu Tran fabf3d4ad3 fix(cliproxy): streamline sidebar routing control 2026-04-07 18:22:05 -04:00
Tam Nhu Tran 6393249111 feat(cliproxy): add routing guidance and strategy controls 2026-04-07 18:17:06 -04:00
Tam Nhu Tran c1d4294708 fix(cliproxy): remove dead codex reconcile settings arg 2026-04-07 17:59:56 -04:00
Tam Nhu Tran 3f36c09064 docs(roadmap): clarify codex runtime fallback behavior 2026-04-07 16:56:22 -04:00
Tam Nhu Tran a39ded0b1a fix(cliproxy): preserve saved codex model selections
- stop the Codex free-plan compatibility guard from rewriting codex.settings.json
- keep saved dashboard selections intact and rely on runtime fallback when needed
- update reconcile coverage to lock the non-mutating behavior in place
2026-04-07 16:56:07 -04:00
Tam Nhu Tran f954f0f8ab hotfix: update ai-review workflow model budget
- switch the reviewer workflow from glm-5-turbo to glm-5.1

- increase workflow timeout to 20 minutes and max turns to 45

- lock the workflow test to the full reviewer model configuration

Closes #922
2026-04-07 16:43:30 -04:00
Tam Nhu Tran d4f434a0e7 refactor(dashboard): use shared token fingerprinting for auth detection
Replace local mtime-only ProviderTokenSnapshot type and
listProviderTokenSnapshots/findNewTokenSnapshotForPendingAuth in
cliproxy-auth-routes with shared implementations from token-manager.
Ensures dashboard parity with CLI-side SHA-256 fingerprint detection.
2026-04-07 09:44:59 -04:00
Tam Nhu Tran 5b1754a320 fix(kiro): prefer scored URL extraction for stderr manual callback
Use extractLikelyOAuthAuthorizationUrl before falling back to naive
regex when detecting auth URLs in stderr for manual callback replay.
Prevents prompting with non-OAuth URLs when stderr emits multiple URLs.
2026-04-07 09:15:36 -04:00
Tam Nhu Tran d95cee1e84 fix(kiro): eliminate TOCTOU in token fingerprinting and harden tests
Cache file content in RawTokenCandidate to avoid double-reading token
files (TOCTOU race between metadata extraction and fingerprinting).
Rename stale test description and add fingerprint fields to test
snapshots so they exercise the same comparison path as production.
2026-04-07 08:47:22 -04:00
Tam Nhu Tran 25bcee2fa1 fix(kiro): require fresh token before auth success 2026-04-07 08:27:52 -04:00
Tam Nhu Tran 173149ba71 fix(ui): keep remote read-only notice accurate 2026-04-07 07:08:32 -04:00
Tam Nhu Tran 1603f19388 fix(usage): block remote refresh without auth 2026-04-07 07:04:57 -04:00
Tam Nhu Tran 5fbe731341 fix(web-server): block remote dashboard writes 2026-04-07 06:10:41 -04:00
Tam Nhu Tran 431c22a16a fix(dashboard): gate remote read-only auth 2026-04-07 05:19:44 -04:00
Tam Nhu Tran a17b82d0c3 test(dashboard-auth): cover incomplete setup login copy 2026-04-06 17:16:20 -04:00
Tam Nhu Tran bfb8782c15 docs(dashboard-auth): clarify remote setup guidance
- document that CCS ships no default dashboard credentials

- note the new remote setup state and login surface improvements
2026-04-06 17:01:49 -04:00
Tam Nhu Tran d130972916 feat(dashboard-auth): clarify remote dashboard login flow
- add explicit access modes so remote users see setup guidance instead of an ambiguous login

- redesign the login page with remote setup messaging, password visibility, and light/dark controls

- cover the access-state contract and login UI with focused tests
2026-04-06 17:01:49 -04:00
Tam Nhu Tran 699b192137 fix(ui): improve Kiro dashboard auth flow 2026-04-06 15:44:34 -04:00
Tam Nhu Tran 1434c3d1e0 fix(kiro): harden callback replay and auth detection 2026-04-05 18:41:23 -04:00
Tam Nhu Tran 325d8d861d fix(kiro): parse Builder ID selector dynamically 2026-04-05 02:27:17 -04:00
Tam Nhu Tran bf5fcfc034 docs(help): add kiro idc flag guidance
- add a dedicated 'ccs help kiro' topic with IDC and paste-callback examples

- link the providers help topic to the new Kiro-specific help surface
2026-04-05 02:17:50 -04:00
Tam Nhu Tran f40d435a92 fix(kiro): harden idc and callback auth paths
- keep headless paste routing aligned with the selected Kiro auth method

- validate local callback replay targets and add prompt cancellation safeguards

- wire IDC params through the dashboard start route and support equals-form CLI flags
2026-04-05 02:04:11 -04:00
Tam Nhu Tran bb7dbd108d docs(kiro): document idc and callback auth flows
- add README coverage for IDC flags and Kiro paste-callback behavior

- record the Kiro auth fixes in the project roadmap
2026-04-05 02:04:11 -04:00
Tam Nhu Tran 0fbea0f335 fix(kiro): align auth flows with CLIProxyAPIPlus
- auto-select Builder ID for the default Kiro AWS auth flow

- support IDC auth flags and callback-based Kiro paste replay

- update regression coverage for Kiro auth routing
2026-04-05 02:04:11 -04:00
Tam Nhu Tran 217e71f9f8 docs(readme): preserve opencode contributor guidance
- add an OpenCode sync guide link to the README docs matrix

- keep the community project attribution intact

- document that contributor community integrations should move

  into docs pages instead of being dropped
2026-04-05 01:18:01 -04:00
Tam Nhu Tran 0e37033f33 docs(readme): broaden CCS runtime positioning
- reframe README and internal docs around CCS as a multi-provider,

  multi-runtime manager

- preserve protected README sections and add guidance to avoid

  Gemini and Antigravity as generic hero examples

- update architecture and product docs to use Codex- and

  Droid-oriented examples in generic flows
2026-04-04 21:41:45 -04:00