Commit Graph
94 Commits
Author SHA1 Message Date
Tam Nhu Tran 0b9f9826e2 feat(continuity): support cross-profile continuity inheritance from account profiles 2026-03-03 02:49:17 +07:00
Tam Nhu Tran 7893436038 feat(i18n): add comprehensive Vietnamese dashboard locale 2026-03-03 02:09:46 +07:00
Tam Nhu Tran 2dddf02a21 docs(i18n): add dashboard localization guide and links 2026-03-03 01:34:41 +07:00
Kai (Tam Nhu) TranandGitHub 98a6ef5258 Merge pull request #644 from kaitranntt/kai/fix/websearch-gemini-cli-flags
fix(websearch): support Gemini positional prompt mode
2026-02-26 10:39:50 -05:00
Tam Nhu Tran 0d09604bb9 fix(websearch): support Gemini positional prompt mode 2026-02-26 22:12:16 +07:00
Tam Nhu Tran d6fd5985bc fix(ci): refresh maintainability baseline for dev release 2026-02-26 22:09:23 +07:00
Tam Nhu Tran b6475baab3 feat(accounts): add advanced deeper continuity mode and claude pool discoverability 2026-02-26 19:01:13 +07:00
Tam Nhu Tran 5c6fe20d3f fix(accounts): improve shared-context editing and discoverability 2026-02-26 18:10:06 +07:00
Tam Nhu Tran fdb32e2c53 fix(maintainability): make gate parallel-pr friendly 2026-02-26 14:46:56 +07:00
Tam Nhu Tran cfa611fe48 chore(maintainability): refresh baseline metrics 2026-02-26 14:12:41 +07:00
Tam Nhu Tran 0309630193 fix(auth): harden shared-context isolation and config safety 2026-02-25 04:19:28 +07:00
Tam Nhu Tran f2ffb815ab docs(spawn): document claudecode env sanitization behavior
- note delegation compatibility with Claude nested-session guard

- document CLAUDECODE sanitization invariant in code standards

Refs #588
2026-02-20 23:01:21 +07:00
Tam Nhu Tran e33164f42e docs(provider): clarify kimi base profile endpoint
- document that base-kimi defaults to local CLIProxy route

- describe direct Moonshot API override for ANTHROPIC_BASE_URL
2026-02-17 20:53:03 +07:00
Tam Nhu Tran fae8716900 fix(cursor): fallback when requested model is unavailable
- resolve request model against current available catalog

- choose safe default when configured default id is not present

- add tests and docs for daemon request-model fallback behavior
2026-02-17 20:53:03 +07:00
Tam Nhu Tran 91edc9565b docs(targets): document built-in and env droid aliases
- add README guidance for ccsd argv[0] auto-target behavior

- document CCS_DROID_ALIASES runtime extension in architecture docs
2026-02-17 20:53:03 +07:00
Kai (Tam Nhu) TranandGitHub 3c1f49ccd2 Merge pull request #577 from kaitranntt/feat/576-cursor-battle-test-integration
feat(cursor): harden daemon integration and model discovery
2026-02-17 16:49:29 +07:00
Tam Nhu Tran c639cefa7b feat(cursor): harden daemon integration and model discovery 2026-02-17 04:09:06 +07:00
Tam Nhu Tran 02af8d5737 fix(targets): DRY signal handling, remove redundant guards, harden config manager
- Extract signal forwarding to reusable src/utils/signal-forwarder.ts
- Update shell-executor, claude-adapter, droid-adapter to use shared utility
- Remove 35 lines of redundant duplicate guards in src/ccs.ts
- Harden droid-config-manager with lock constants and race-safe ensureFactoryDir
- Update help-command with --target usage examples
- Update maintainability metrics baseline
2026-02-17 03:38:27 +07:00
Tam Nhu Tran f1a61f6eb5 chore(metrics): update maintainability baseline for CI
Sync baseline with current metrics after edge case hardening commit.
2026-02-17 03:28:01 +07:00
Tam Nhu Tran 0431adf306 fix(targets): close all remaining multi-target droid edge cases 2026-02-17 03:22:45 +07:00
Tam Nhu Tran 3191a4ab38 fix(targets): harden edge cases from parallel code review
- droid-config-manager.ts: Profile name validation, backup file perms
  (0o600), symlink detection before write
- droid-detector.ts: Directory check for CCS_DROID_PATH via isFile()
- ccs.ts: Replace hardcoded guards with supportsProfileType() calls,
  add prepareCredentials to default branch
- droid-adapter.ts: errno-aware error messages (EACCES vs ENOENT)
- maintainability-baseline.json: Updated edge case metrics

Hardening fixes address permission handling, symlink detection, and
error classification for improved robustness in edge cases.
2026-02-16 15:32:34 +07:00
Tam Nhu Tran 7d7054e2c0 feat(targets): add multi-target CLI adapter system (Droid support)
Implement target adapter pattern enabling CCS CLI to support multiple backend targets
(Claude, Droid) via pluggable adapters. Core additions:

- TargetAdapter interface for pluggable target implementations
- ClaudeAdapter and DroidAdapter concrete implementations
- Target registry (singleton Map-based storage)
- Target resolver with precedence: --target flag > per-profile config > busybox detection
- Droid config manager with atomic writes and file locking to ~/.factory/settings.json
- Droid binary detector to validate runtime environment
- Adapter dispatch integrated into ccs.ts main execution flow
- ccsd busybox alias for seamless Droid invocation
- --target flag documentation in help
- Session tracking enriched with target metadata
- Dashboard target badge for visual identification

Testing:
- 43 unit tests covering resolver, registry, config manager, and adapters
- Full coverage of target detection logic and edge cases

Documentation:
- Refactored system-architecture.md into modular docs/system-architecture/ subdirectory
- Updated code-standards.md with target adapter guidelines
- Updated codebase-summary.md with architecture overview
- Updated maintainability baseline (33.8% → 35.2%)

This establishes extensible foundation for multi-target support without breaking
existing Claude workflows. Droid adapter is production-ready but defaults to Claude
for backward compatibility.
2026-02-16 10:49:09 +07:00
Tam Nhu Tran 14dd34187d docs(kiro): document method-aware auth behavior
- add README Kiro auth-method examples and AWS default details

- update architecture docs for method-aware Kiro flow semantics

Refs #552

Refs #233
2026-02-14 13:34:08 +07:00
Tam Nhu Tran 0e55db88a5 fix(cursor): address CI gate and review regressions 2026-02-14 06:41:57 +07:00
Tam Nhu Tran edd2a354eb chore(metrics): refresh maintainability baseline
- align tracked maintainability counters with current source tree

- unblock validate gate after composite-provider changes increased metrics
2026-02-13 06:47:16 +07:00
Kai (Tam Nhu) TranandGitHub a2520d2ed8 Merge pull request #543 from kaitranntt/kai/feat/538-stream-d-hardening
chore(hardening): add debt inventory and async I/O kickoff (stream D)
2026-02-12 16:21:18 +07:00
Tam Nhu Tran bb9d846a54 fix(hardening): handle regex literals in sync-call scanner 2026-02-12 15:01:33 +07:00
Tam Nhu Tran b7481cf346 fix(maintainability): require git-tracked scan for gate 2026-02-12 14:50:54 +07:00
Tam Nhu Tran 8193e9d67f fix(hardening): ignore literal text in sync-call metrics 2026-02-12 14:45:24 +07:00
Tam Nhu Tran 8f0ba481ed fix(maintainability): scan tracked src files for stable gate 2026-02-12 14:40:45 +07:00
Tam Nhu Tran d21b5c44ee fix(hardening): count executable sync fs call sites 2026-02-12 14:40:45 +07:00
Tam Nhu Tran 2610971d2e fix(maintainability): enforce gate and correct loc metric 2026-02-12 14:18:48 +07:00
Tam Nhu Tran cefb564948 chore(hardening): add debt inventory and async io kickoff 2026-02-12 12:57:46 +07:00
Tam Nhu Tran 975c864f94 chore(maintainability): add baseline metrics gate 2026-02-12 12:57:24 +07:00
Tam Nhu Tran b96eacfc06 fix(env): improve empty profile UX and consolidate shell validation constants
- Return {} instead of null for valid-but-empty settings profiles
- Consolidate VALID_SHELLS and validShellInputs into VALID_SHELL_INPUTS
- Fix docs test count 33 → 34
2026-02-11 11:20:25 +07:00
Tam Nhu Tran 38bd562687 docs: update local docs for ccs env command
- codebase-summary: add env-command.ts and test file, update test count
- system-architecture: add env-command to CLI commands list
- project-overview-pdr: add FR-011 third-party tool integration, v7.39
- project-roadmap: add Phase 15 and v7.39 milestone
2026-02-11 07:29:36 +07:00
kaitranntt c6be09b55b docs: update documentation for v7.34 release
- add image analysis hook architecture

- update test metrics (638 → 1407 tests)

- add new hook modules to codebase summary

- update all dates to 2026-02-04
2026-02-04 08:20:26 -05:00
kaitranntt 90bced95a4 docs: add Docker support documentation 2026-01-18 08:58:31 -05:00
kaitranntt 39c1ee2ca0 feat(config): add ccs config auth CLI subcommand
Interactive CLI for managing dashboard authentication:
- ccs config auth setup: Interactive wizard with bcrypt password hashing
- ccs config auth show: Display current auth status and ENV overrides
- ccs config auth disable: Disable auth with confirmation

Follows modular facade pattern from auth-commands.ts.
Uses InteractivePrompt for masked password input.
Includes local documentation at docs/dashboard-auth-cli.md.

Related: #319
2026-01-13 15:13:10 -05:00
kaitranntt ec4c2c2f7b docs: update documentation for CCS v7.14.x with quota management 2026-01-06 18:05:05 -05:00
kaitranntt b93b91c925 docs: update documentation for kiro and ghcp providers
- add ccs kiro and ccs ghcp to README commands

- update project-overview-pdr with v7.2 and FR-003 OAuth flows

- update system-architecture with OAuth flow types

- update codebase-summary with 7 CLIProxy providers

- update project-roadmap with Phase 11 completion
2025-12-22 01:09:25 -05:00
kaitranntt ec7781bbc8 docs: update documentation for v7.1 remote CLIProxy feature
- README: add remote CLIProxy section with CLI flags and quick setup
- code-standards: add Config Priority Pattern (CLI > ENV > config.yaml)
- codebase-summary: add new remote proxy files, update test counts (638)
- project-overview-pdr: add FR-008 requirement, v7.1 release section
- project-roadmap: add Phase 10 (Remote CLIProxy), mark #142 complete
- system-architecture: add Remote CLIProxy Flow diagram
2025-12-21 20:09:46 -05:00
kaitranntt e45b46d207 docs: update documentation for modularization phases 6-9
- mark settings, analytics, auth-monitor splits as complete
- add test infrastructure (99 tests, 90% threshold) to roadmap
- update codebase-summary.md with new modular structure
- add github issues backlog (13 issues categorized by priority)
- add future roadmap: multiple cliproxyapi, git worktree support
- update project-overview-pdr.md with v7.0 release items
- update system-architecture.md with new ui module structure
2025-12-21 03:45:02 -05:00
kaitranntt 53a7ba8d3f docs(standards): add input state persistence patterns
- Pattern 1: Key-based remounting

- Pattern 2: Unsaved changes confirmation

- Pattern 3: Auto-save with visual feedback

Closes #165
2025-12-21 01:59:10 -05:00
kaitranntt 1ffd169b98 docs: add comprehensive documentation suite for modular architecture
Add five documentation files reflecting Phase 5 UI modularization:
- codebase-summary.md: Complete directory structure for CLI and UI
- code-standards.md: 200-line file limit, barrel exports, naming conventions
- system-architecture.md: ASCII architecture diagrams and data flows
- project-roadmap.md: Completed phases 1-5, future work
- project-overview-pdr.md: Product development requirements
2025-12-19 20:17:55 -05:00
kaitranntt 98c21efb5a fix(websearch): detect Gemini CLI auth status before showing Ready
Previously, WebSearch status showed "Ready (Gemini)" when the CLI binary
was installed, misleading users who hadn't authenticated yet.

Changes:
- Add isGeminiAuthenticated() to check ~/.gemini/oauth_creds.json
- Add 'needs_auth' state to WebSearchReadiness type
- Show warning "[!] Gemini: run 'gemini' to login" when not authenticated
- Fix incorrect 'gemini auth login' references (no such command exists)
- Update docs with correct npm install and authentication instructions
2025-12-18 03:24:59 -05:00
kaitranntt fd99ebca98 feat(websearch): add MCP fallback and Gemini CLI hook for third-party profiles
- Add Gemini CLI transformer hook (websearch-gemini-transformer.cjs)
- Implement MCP auto-configuration with web-search-prime, brave, tavily fallback
- Add installWebSearchHook() to activate hook on profile launch
- Update settings.tsx to clarify web-search-prime requires z.ai subscription
- Add WebSearch config types and loader support
- Create implementation plan for WebSearch UX enhancement (startup status, dashboard)

Third-party profiles (gemini, agy, codex, qwen, glm, kimi) now have WebSearch
capability via Gemini CLI primary + MCP fallback chain.
2025-12-16 02:49:07 -05:00
kaitranntt 071ec041ed feat(websearch): add multi-tier MCP fallback for third-party profiles
Implements CCS WebSearch Native Infrastructure (Phases 1-3):

Phase 1 - Multi-tier MCP Fallback:
- Add mcp-manager.ts with ensureMcpWebSearch() for auto-configuration
- Support web-search-prime (primary), Brave Search, and Tavily MCPs
- Case-insensitive detection of existing web search MCPs
- Block-websearch hook for optional native WebSearch blocking

Phase 2 - User Configuration:
- Add WebSearchConfig interface to unified-config-types.ts
- Add getWebSearchConfig() to unified-config-loader.ts
- Support configurable webSearchPrimeUrl for security
- Add GET/PUT /api/websearch endpoints in routes.ts
- Add WebSearch settings UI in settings.tsx dashboard

Phase 3 - Documentation & Testing:
- Add WebSearch section to README.md
- Create comprehensive docs/websearch.md guide
- Add 23 unit tests for MCP manager logic

Enables web search for gemini, codex, agy, qwen, glm, kimi profiles
that cannot access Anthropic's native WebSearch API.
2025-12-16 00:42:13 -05:00
kaitranntt aeec394380 chore: remove docs submodule (moved to products/ccs/docs) 2025-12-13 01:23:36 -05:00
kaitranntt 8d46317cf6 docs: migrate to Mintlify docs submodule
- Add kaitranntt/ccs-docs as git submodule under docs/
- Update README links to point to docs.ccs.kaitran.ca
- Remove old local docs (migrated to Mintlify MDX format)

Phase 3 of README restructure complete.
2025-12-13 00:49:21 -05:00