Commit Graph
430 Commits
Author SHA1 Message Date
Tam Nhu Tran e6617726cb fix: harden CCS backlog sync pagination and recovery 2026-03-28 09:51:53 -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
Tam Nhu Tran 99f78f156a fix(cliproxy): surface gemini quota failure details
- preserve structured HTTP/error metadata for Gemini quota failures

- keep upstream verification detail and actionable hints for dashboard users

- add regression coverage for 401, 403, and 429 Gemini quota responses
2026-03-26 17:13:11 -04:00
Kai (Tam Nhu) TranandGitHub d08b4a2293 Merge pull request #802 from kaitranntt/kai/fix/789-opus-long-context
fix: preserve Claude long-context intent across CLI and dashboard
2026-03-26 17:09:32 -04:00
Tam Nhu Tran be4ba13e96 fix(tests): stabilize command help CI validation 2026-03-26 16:56:34 -04:00
Tam Nhu Tran 75ccbb3ad1 fix(cliproxy): scope account stats by provider 2026-03-26 16:36:46 -04:00
Tam Nhu Tran 5e11bba514 test(cliproxy): cover Claude long-context parity flows
- add regression coverage for runtime, api create flags, and help text

- add provider-editor tests for multi-key [1m] state and preset preservation

Refs #789
2026-03-26 16:36:14 -04:00
Tam Nhu Tran 63f48622e5 fix(cliproxy): log clean registry recovery and harden email fallback 2026-03-26 13:40:37 -04:00
Tam Nhu Tran 313e244302 fix(cliproxy): harden corrupted registry recovery 2026-03-26 10:58:42 -04:00
Tam Nhu Tran d53873bddd fix(cliproxy): recover corrupted account registries from token files 2026-03-26 10:36:51 -04:00
Tam Nhu Tran ec1417ab7c fix(channels): reject oversized official channel tokens
Add a 4096-character cap before persisting official channel tokens, map that validation failure to HTTP 400 in the dashboard route, and cover both paths with regression tests.
2026-03-25 22:38:15 -04:00
Tam Nhu Tran 3af554275e test: isolate shared-state test suites for CI stability
- add dependency injection to export-command, binary-manager,
  codex-plan-compatibility, config-command, and usage-syncer
- override process.exit in api-export test to prevent silent
  termination in Bun's parallel test runner
- harden test-environment bootstrap with process.env isolation
- fix auth middleware to avoid config upgrade during checks
2026-03-25 16:41:41 -04:00
Tam Nhu Tran 3ea9d2fc34 fix(settings): stabilize websearch and quota checks 2026-03-25 16:31:55 -04:00
Tam Nhu Tran a97fc42b10 feat(channels): auto-enable official Claude channels 2026-03-25 16:31:55 -04:00
Tam Nhu Tran 6f1f032c63 feat(channels): support telegram and imessage
- replace the Discord-only config with multi-channel official channels selection

- add Telegram token handling and iMessage platform-aware runtime gating

- expand CLI, dashboard, and tests for Telegram, Discord, and iMessage

Refs #783
2026-03-25 16:31:55 -04:00
Tam Nhu Tran 4bce1559dd feat(channels): auto-enable official discord plugin
- add runtime injection for official Discord Channels on eligible native Claude sessions

- add CLI and dashboard configuration plus secure token handling

- add tests for launch planning, token sync, and config routing

Refs #783
2026-03-25 16:31:55 -04:00
Tam Nhu Tran 6ccf53ec7d fix(config): preserve hidden auth secrets and block scalars 2026-03-24 15:25:49 -04:00
Tam Nhu Tran e983bed1da fix(config): close dashboard secret redaction gaps 2026-03-24 15:15:29 -04:00
Tam Nhu Tran 37251cd1f8 fix(config): harden dashboard config and rollback paths 2026-03-24 14:38:40 -04:00
Tam Nhu Tran c923f51cf5 fix(shared-manager): guard inverse shared symlink loops 2026-03-24 14:38:27 -04:00
Tam Nhu Tran 05dea22238 fix(shared-manager): allow external claude symlink chains 2026-03-24 13:34:34 -04:00
Tam Nhu Tran 09eb01f16e fix(auth): verify polled oauth account persistence 2026-03-24 09:15:05 -04:00
Tam Nhu Tran 6c7d215ecc feat(websearch): add real provider chain 2026-03-23 15:26:05 -04:00
Tam Nhu Tran 1f667b5953 fix: harden droid runtime alias resolution 2026-03-23 14:15:30 -04:00
Tam Nhu Tran 160be319d0 feat: add explicit droid runtime alias surface 2026-03-23 13:44:32 -04:00
Tam Nhu Tran 4df08f6d99 feat: make cliproxy provider nicknames optional by default 2026-03-23 11:02:08 -04:00
Tam Nhu Tran 834704938d test(cliproxy): cover optional nickname auth flows
- add registry coverage for generated ids, reauth, and ambiguous prefixes

- add CLI and dashboard validation tests for optional nickname handling

- add manual callback coverage for persisted social OAuth nicknames
2026-03-23 11:02:08 -04:00
Tam Nhu Tran 04fd8ff019 fix: restore parallel-safe validate pipeline 2026-03-20 09:51:41 -04:00
Tam Nhu Tran 0d90f04f3e fix: stabilize validate pipeline and cliproxy route tests 2026-03-20 09:29:51 -04:00
Tam Nhu Tran 287691fa04 feat(profiles): add cliproxy api profile bridge
- add backend and CLI flows for creating routed API profiles from CLIProxy providers

- add dashboard bridge CTAs, metadata, and guided create dialog mode

- cover bridge routes and dialog behavior with focused tests

Refs #649
2026-03-19 10:24:28 -04:00
Tam Nhu Tran 9fac214051 fix(codex): recover unsupported live model switches 2026-03-18 11:56:39 -04:00
Tam Nhu Tran fab05011f1 test(management): cover plugin layout sync lock 2026-03-18 08:22:03 -04:00
Tam Nhu Tran 36e8ed5d87 fix(management): serialize lifecycle maintenance paths
- serialize deleteInstance with the same profile and plugin-layout locks as ensure

- lock non-account marketplace normalization paths and ignore .locks as an instance source
2026-03-18 08:04:48 -04:00
Tam Nhu Tran fc02c4b968 fix(management): harden marketplace state transitions
- detach verified shared symlinks when a profile is reopened as bare

- prune stale marketplace entries whose payload directories no longer exist

- add regressions for bare/non-bare transitions and stale registry recovery
2026-03-18 07:55:09 -04:00
Tam Nhu Tran 68a5d17327 fix(management): serialize marketplace registry reconciliation
- keep bare and non-bare marketplace normalization inside the plugin-layout lock
- warn when malformed registry sources are skipped during reconciliation
- add regression coverage for cross-instance refresh metadata and legacy layout upgrade
2026-03-18 07:34:05 -04:00
Tam Nhu Tran 54ea36fd18 fix(management): localize marketplace registry per instance 2026-03-18 07:08:09 -04:00
Tam Nhu Tran 2d48e6a287 chore: resolve dev merge conflicts for GLMT deprecation 2026-03-17 15:55:25 -04:00