Commit Graph
508 Commits
Author SHA1 Message Date
Tam Nhu Tran 0b72ecd36f hotfix(ci): harden ai review workflow for release PRs 2026-04-01 13:50:32 -04:00
Tam Nhu Tran bd1ff02521 fix(codex): align cliproxy guidance with runtime behavior 2026-03-29 21:04:59 -04:00
Tam Nhu Tran 0ffde4f3a2 feat(codex-ui): surface cliproxy setup guidance 2026-03-29 19:44:02 -04:00
Tam Nhu Tran 318b57bedc docs(codex): clarify ccsxp and cliproxy setup 2026-03-29 19:43:46 -04:00
Tam Nhu Tran deb1e9d71e feat(codex): add ccsxp runtime shortcut 2026-03-29 19:43:26 -04:00
Tam Nhu Tran 643bd2a5ac fix(codex): restore version context for override failures 2026-03-29 16:32:11 -04:00
Tam Nhu Tran c0f0f173e0 test(codex): cover alias passthrough gaps
- add integration coverage for ccsx help and version short/long flags

- assert CODEX_MANAGED_BY_BUN is stripped from nested Codex launches
2026-03-29 16:06:16 -04:00
Tam Nhu Tran f47ab484f3 fix(codex): harden native alias launches
- pass ccsx help/version flags straight through to native Codex

- strip parent Codex session env before nested launches

- avoid eager version/help probes unless config override detection is needed
2026-03-29 15:54:18 -04:00
Kai (Tam Nhu) TranandGitHub 6fc9aacc06 Merge pull request #850 from kaitranntt/kai/feat/issue-773-codex-runtime-target
feat: add codex runtime target and dashboard parity
2026-03-29 14:43:09 -04:00
Tam Nhu Tran 9e43beec40 feat(codex): harden runtime targeting and dashboard editing 2026-03-29 14:18:51 -04:00
Tam Nhu Tran 6707b7d5b4 fix(cliproxy): preserve manual high-minor alias clusters 2026-03-29 14:13:23 -04:00
Tam Nhu Tran c4428e4176 fix(cliproxy): narrow legacy gemini alias cleanup 2026-03-29 14:07:28 -04:00
Tam Nhu Tran 061cd9679f fix(cliproxy): prune stale control panel alias clusters
- prune stale generated Gemini preview clusters during config regeneration

- preserve manual preview overrides on built-in Gemini alias names

- add regression coverage for stale cluster cleanup and manual pins
2026-03-29 14:07:28 -04:00
Tam Nhu Tran ebc9acf8e4 fix(codex): harden dashboard config editing 2026-03-29 13:14:15 -04:00
Tam Nhu Tran b47aa0d28d feat(codex): add dashboard control center
- add guided editors for top-level settings, trust, profiles, providers, MCP, and features

- refresh raw snapshots after patch saves to avoid stale mtime conflicts

- block structured saves while raw TOML is dirty and add route plus hook coverage
2026-03-29 13:14:15 -04:00
Tam Nhu Tran 3c52b1ab6d fix(codex): align runtime compatibility and dashboard types 2026-03-29 13:14:15 -04:00
Tam Nhu Tran 8c5da9f9e8 feat: add codex dashboard parity 2026-03-29 13:14:15 -04:00
Tam Nhu Tran f9c1238483 feat(profiles): expose codex runtime across surfaces
- update CLI, API, route, and dashboard surfaces to recognize the Codex runtime target

- normalize persisted codex targets back to claude so runtime-only behavior stays truthful

- add regression coverage for help text, route parsing, and profile storage normalization

Refs #773
2026-03-29 13:14:15 -04:00
Tam Nhu Tran 8f60820f33 feat(targets): add native codex runtime target
- add a Codex adapter, detector, runtime aliases, and compatibility matrix

- keep Codex runtime-only while preserving persisted targets for claude and droid

- cover Codex launch, reasoning, wrapper detection, and bridge routing regressions

Refs #773
2026-03-29 13:14:15 -04:00
Tam Nhu Tran a23caf0051 test(auth): verify effectiveAuthRequired logic for remote vs local access
Cover all 4 combinations: localhost+disabled, remote+disabled,
remote+enabled, localhost+enabled. Also tests isLoopbackRemoteAddress
helper for IPv4, IPv6, mapped addresses, LAN, and undefined.
2026-03-29 11:17:24 -04:00
Tam Nhu Tran cd09b845da fix(docker): address review findings — test, docs, bcrypt path
- Add test assertion for --host auth reminder message
- Use Node module resolution for bcrypt in README (not hardcoded path)
- Replace cat|grep with direct grep in verification commands
2026-03-29 10:55:10 -04:00
Tam Nhu Tran a517c506cb test(docker): add tests for health check port detection and ETXTBSY guard
Cover checkCliproxyPort() with all ProxyStatus branches (running,
starting, blocked with/without blocker, free). Cover deleteBinary()
ETXTBSY guard — verifies ETXTBSY throws clear message while other
errors (ENOENT, EACCES, EBUSY) are re-thrown.
2026-03-28 19:20:05 -04:00
Tam Nhu Tran cbe93d4f76 test(docker): update executor tests for export syntax and build timeout
Align test assertions with the env var export pattern and the 5-minute
build timeout used by up and update operations.
2026-03-28 16:22:17 -04:00
Tam Nhu Tran 836c485095 Merge remote-tracking branch 'origin/dev' into kai/fix/websearch-hook-install-settings-profiles 2026-03-28 15:47:22 -04:00
Kai (Tam Nhu) TranandGitHub d3f0acc59c Merge pull request #826 from kaitranntt/kai/fix/gemini-3-1-presets
fix(cliproxy): resolve gemini presets from live models
2026-03-28 15:39:56 -04:00
Tam Nhu Tran 0821c68559 fix(websearch): restore hook recovery and force register 2026-03-28 10:37:20 -04:00
Tam Nhu Tran ed37a2a513 Merge remote-tracking branch 'origin/dev' into kai/fix/websearch-hook-install-settings-profiles 2026-03-28 10:26:47 -04:00
Tam Nhu Tran cc55b9d794 Merge remote-tracking branch 'origin/dev' into kai/chore/ccs-backlog-project-automation-refresh 2026-03-28 10:17:56 -04:00
Tam Nhu Tran 2423864817 fix(cliproxy): align gemini flash pricing and dashboard imports 2026-03-28 09:54:26 -04:00
Tam Nhu Tran e6617726cb fix: harden CCS backlog sync pagination and recovery 2026-03-28 09:51:53 -04:00
Tam Nhu Tran 0e6965d205 fix(websearch): harden settings-profile hook setup
- fail enabled settings-profile create and launch flows when hook preparation is still unusable

- refresh stale shared hook binaries without rewriting unchanged installs or failing benign races

- add rollback and regression coverage for disabled, stale, invalid, copy, import, and launch paths
2026-03-28 09:51:13 -04:00
Tam Nhu Tran 13254f28a6 test(docker): add regression test for bundled asset availability
Verify all four integrated Docker assets (compose file, Dockerfile,
supervisord config, entrypoint script) resolve and exist on disk.
Prevents silent exclusion from future packaging changes.
2026-03-28 09:47:37 -04:00
Tam Nhu Tran 2251312411 fix(cliproxy): centralize gemini compatibility and fallback hints 2026-03-27 17:38:31 -04:00
Tam Nhu Tran fbbdd80830 fix(websearch): avoid partial settings-hook migration
- verify the hook binary before migrating global WebSearch hook state

- centralize migration-marker helpers in hook-installer exports

- expand regression coverage for existing-hook, disabled, invalid-name, and failed-install paths
2026-03-27 17:22:56 -04:00
Tam Nhu Tran 39a3e9dfc0 fix(websearch): install hook for settings profiles
- ensure profile hook injection installs the transformer binary before writing the command

- keep migration marker cleanup in the installer to avoid a circular import

- add a regression test for isolated CCS_HOME settings profiles
2026-03-27 17:05:41 -04:00
Tam Nhu Tran 5ac91e0cac fix(cliproxy): align gemini 3.1 preset compatibility 2026-03-27 16:39:40 -04:00
Kai (Tam Nhu) TranandGitHub 508c96e289 Merge pull request #820 from kaitranntt/kai/feat/812-docker-command
feat: add ccs docker deployment commands
2026-03-27 15:23:12 -04:00
Tam Nhu Tran 5b9954cfad test(docker): cover docker subcommand rendering paths
- add handler-level coverage for up, down, logs, config, update, and status

- exercise success, validation, follow-mode, and boxed error output paths
2026-03-27 15:05:17 -04:00
Tam Nhu Tran 5ad4303345 fix(docker): bound blocking command execution
- add default local and remote sync-command timeouts with clearer timeout diagnostics

- remove extra synchronous fs and process.exit patterns from docker assets/bootstrap helpers

- register the docker help handler in CLAUDE.md for the repo help-location reference
2026-03-27 15:05:17 -04:00
Tam Nhu Tran 23f767b0c5 feat(docker): add integrated deployment commands
- add ccs docker subcommands for up, down, status, update, logs, and config
- bundle integrated docker assets and remote ssh deployment support
- add executor regression tests and root help/router coverage

Refs #812
2026-03-27 15:05:17 -04:00
Tam Nhu Tran 1fd7f81221 test(websearch): assert parser-layer null body errors 2026-03-27 14:58:54 -04:00
Tam Nhu Tran dff40b5e24 fix(websearch): align provider validation metadata 2026-03-27 14:49:00 -04:00
Tam Nhu Tran 4ccc3edcbb fix(websearch): restrict dashboard secrets routes 2026-03-27 14:14:23 -04:00
Tam Nhu Tran 20c48c6105 feat(websearch): manage provider API keys in dashboard
- add masked dashboard-managed API key state for Exa, Tavily, and Brave
- persist WebSearch keys through global_env while keeping WebSearch as the UX surface
- treat dashboard-managed keys as ready in status checks and cover the flow with route/UI tests
2026-03-27 13:25:26 -04:00
Tam Nhu Tran 41a31c8a4f fix(ci): resolve flaky api-command module resolution and migrate to self-hosted runner
Root cause: Bun's test runner fails to resolve exports from directory
index.ts files during parallel test execution. The api-command/index.ts
imports 8 subcommand modules — if any fail to load during concurrent
test runs, the entire module fails with "Export not found."

Fix: extract createApiCommandHandler into handler.ts (lightweight, only
imports named-command-router). Test imports from handler.ts directly,
bypassing the heavy index.ts that loads all subcommand modules.

Also:
- Remove stale api-command.ts barrel file
- Use explicit /index import paths in source
- Migrate CI validate to self-hosted runner with clean artifact step
- Disable Bun cache (no-cache: true) on self-hosted runner
2026-03-26 18:12:32 -04:00
Kai (Tam Nhu) TranandGitHub a5c765b221 Merge pull request #805 from kaitranntt/kai/fix/804-live-monitor-auth-index
fix(cliproxy): restore live monitor provider attribution
2026-03-26 17:37:01 -04:00
Tam Nhu Tran 63c8ec5d7c fix(cliproxy): preserve auth-file source fallback 2026-03-26 17:18:48 -04:00
Tam Nhu Tran 368a625d92 fix(cliproxy): restore live monitor provider attribution 2026-03-26 17:18:47 -04:00
Tam Nhu Tran 19f6b3c4e6 fix(cliproxy): surface quota metadata in CLI 2026-03-26 17:13:11 -04:00
Tam Nhu Tran 31b7d45b58 fix(cliproxy): harden gemini quota error fallbacks 2026-03-26 17:13:11 -04:00