Commit Graph
525 Commits
Author SHA1 Message Date
Tam Nhu Tran 3246c40319 feat(codex-dashboard): add manual long-context controls 2026-04-01 14:57:56 -04:00
Kai (Tam Nhu) TranandGitHub e226a4d161 Merge pull request #866 from kapdon/review/docker-cliproxy-cors
fix(docker): proxy CLIProxy management panel through dashboard to avoid cross-origin errors
2026-04-01 11:52:59 -04:00
Tam Nhu Tran 27409b789b fix(docker): harden proxy with timeout, Bun compat, and test coverage
- Add 30s timeout on proxy requests to prevent indefinite hangs
- Wrap resolveLocalCliproxyPort in try/catch with default port fallback
- Simplify buildProxyBody: remove fragile content-length check that
  caused Bun to fall through to req.pipe() on consumed streams
- Replace proxyRes.pipe(res) with manual streaming for Bun compatibility
  (pipe hangs after writeHead in Bun runtime)
- Replace deprecated req.on('aborted') with res.on('close') cleanup
  (req.on('close') fires with req.destroyed=true in Bun after body
  consumption, prematurely destroying the proxy connection)
- Explicitly end proxy request for bodyless methods (GET/HEAD/OPTIONS)
  instead of piping an already-consumed express stream
- Add server.closeAllConnections() in test cleanup to prevent hangs
- Add GET passthrough and 502 unreachable test cases
2026-04-01 11:39:34 -04:00
Tam Nhu Tran ca54bad2aa fix(codex): harden native runtime detection 2026-04-01 01:39:14 -04:00
Tam Nhu Tran b6717c5529 fix: bootstrap explicit CODEX_HOME for ccsxp 2026-04-01 00:03:10 -04:00
Tam Nhu Tran 014a844844 fix: probe Codex config override support directly 2026-03-31 23:38:23 -04:00
Tam Nhu Tran 7f83e041b7 feat(websearch): add managed mcp runtime and provider cooldowns
- switch ccs-websearch MCP to stdio-first framing and keep legacy compatibility

- add cooldown persistence and bounded retries for provider failures

- surface cooldown status in readiness output and regression tests
2026-03-31 14:22:11 -04:00
Tam Nhu Tran cae5b710b8 fix(websearch): close review gaps in managed runtime 2026-03-30 23:02:20 -04:00
Tam Nhu Tran de7171d810 feat(websearch): finish managed third-party rollout
- steer third-party launches toward the managed WebSearch MCP tool

- add opt-in trace diagnostics across launch, MCP, provider, and headless paths

- extend docs and regression coverage for the first-class runtime

Refs #862
2026-03-30 22:41:51 -04:00
UserandClaude Opus 4.6 6471cc55d7 fix(docker): harden cliproxy local proxy with auth guard, dynamic port, and body handling
Move reverse proxy under /api/cliproxy-local so it sits behind auth
middleware. Enforce localhost-only access when dashboard auth is disabled.
Resolve the target port from unified config instead of hardcoding 8317.
Re-serialize parsed JSON bodies before forwarding so writes still work
behind express.json(). Clean up proxy connections on client abort.

On the frontend, point the iframe and health check at the new same-origin
API path, probe the proxy directly, and tighten iframe origin/path
validation before sending the auto-login secret.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:33:32 -07:00
Tam Nhu Tran b087c02738 fix: merge existing disallowed tool flags for websearch 2026-03-30 17:39:21 -04:00
Tam Nhu Tran 51fd023be7 Merge remote-tracking branch 'origin/dev' into kai/feat/862-first-class-ccs-websearch 2026-03-30 17:20:47 -04:00
Tam Nhu Tran e260df7178 feat: add first-class CCS WebSearch runtime 2026-03-30 16:10:39 -04:00
Tam Nhu Tran fa37f391c1 fix: harden ai review comment formatting 2026-03-30 16:08:21 -04:00
Tam Nhu Tran 22f091689f fix(codex): harden duplicate-email account actions 2026-03-30 15:30:11 -04:00
Tam Nhu Tran c73f33872a feat(cliproxy): support duplicate-email codex accounts
- keep Codex team and personal auth files as separate identities

- resolve quota and live monitor stats by token file-backed account id

- surface duplicate-aware account labels across the dashboard and variant UI
2026-03-30 15:30:11 -04:00
Tam Nhu Tran a5d71e3560 fix: normalize websearch hook output for local providers 2026-03-30 15:10:30 -04:00
Tam Nhu Tran 4950be7fc0 fix(ci): harden ai review output
- replace raw assistant-text fallback with structured output normalization

- simplify the review prompt toward a tighter findings-only contract

- add tests for malformed output, safe fallback, and markdown escaping
2026-03-30 14:22:59 -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