Commit Graph
1212 Commits
Author SHA1 Message Date
github-actions[bot] d2e10ed576 chore(sync): merge main into dev after release [skip ci]
# Conflicts:
#	package.json
2026-04-13 13:53:45 +00:00
Tam Nhu Tran 31c464a3c5 chore: merge dev into pr-976 branch 2026-04-13 09:40:10 -04:00
Tam Nhu Tran a68bc46caf fix(test): isolate chrome reuse home env expectations 2026-04-13 08:41:19 -04:00
Tam Nhu Tran 7fc39f7c03 fix(cli): match managed prompt files by exact path 2026-04-13 08:39:59 -04:00
Yehor Baklanov 45c231a717 feat(cli): add --append-system-prompt-file support 2026-04-13 06:37:19 +00:00
Wooseong Kim a76265a7c0 fix(image-analysis): wrap defaultDeps in arrow functions to fix circular dep capture
Direct function references in defaultDeps (checkRemoteProxy, fetchRemoteAuthStatus,
getAuthStatus, getProxyTarget, initializeAccounts) are captured at module load time.
Due to circular dependencies in the module graph, auth-handler.js may not have
finished initializing when this module is first evaluated, causing these references
to be captured as undefined.

Wrapping each reference in an arrow function defers evaluation to call time,
by which point all modules are fully initialized.

isCliproxyRunning was already wrapped correctly; this patch applies the same
pattern consistently to all deps.

Fixes #973
2026-04-13 15:05:22 +09:00
walkerandClaude Opus 4.6 74f028168d fix(browser): 加固 browser_click 激活语义并修复相关验证阻塞
- 将 browser_click 调整为 mousedown/mouseup 后走 native click
- 在取消激活和中途 detached 场景下避免强制触发 native activation
- 补齐 browser_click 的回归测试与取消激活场景覆盖
- 修复 cliproxy 本地代理、Droid 环境隔离、图像分析 hook 与 proxy 集成测试的验证阻塞

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:19:16 +08:00
walkerandClaude Opus 4.6 eb8149e8fa feat(browser): 接入 CCS browser MCP 与最小交互闭环
新增 browser MCP 安装、Chrome 复用与运行时接线,
实现 navigate、click、type、take_screenshot 四个 phase-1 工具并补齐相关单测。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 11:19:16 +08:00
Kai (Tam Nhu) TranandGitHub a18146b83e Merge pull request #971 from kaitranntt/kai/feat/966-cursor-integration-usable
feat: make Cursor integration usable and supportable
2026-04-12 16:42:32 -04:00
Kai (Tam Nhu) TranandGitHub affe07e1ea Merge pull request #962 from sgaluza/feat/cliproxy-catalog-json
feat(cliproxy): add --json flag to catalog command
2026-04-12 16:02:03 -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 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
Sergey Galuza ea2b16bb66 docs(cliproxy): add catalog --json to --help output
Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:47:10 +02:00
Sergey Galuza 7bf5b4b95e fix(cliproxy): guard against undefined catalog and add issueUrl field
- Add null check for catalog entries from Partial<Record> type
- Include issueUrl in JSON output for broken model tracking

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza 22acd96ba4 feat(cliproxy): add thinking config to catalog --json and test false values
- Include thinking support configuration (type, min, max, levels) in
  JSON output for reasoning-capable models
- Add test verifying explicit false booleans are preserved (not omitted)
- Add test verifying thinking config appears for thinking models

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza 9ac1ac9804 fix(cliproxy): preserve explicit false values in catalog --json
Use !== undefined checks instead of truthy checks so that explicitly
set false booleans (e.g. extendedContext: false) appear in JSON output,
allowing consumers to distinguish "not set" from "explicitly disabled".

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza fbfb130f4d feat(cliproxy): include model metadata in catalog --json output
- Expose tier, description, deprecated, broken, extendedContext,
  nativeImageInput fields (omitted when undefined)
- Simplify tests to use static imports instead of dynamic cache-busting
- Add integration tests verifying --json routing through handleCliproxyCommand
- Test --json priority over refresh/reset subcommands

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza 509d2e4dd8 test(cliproxy): add catalog --json tests and clarify flag priority
- Add unit tests verifying JSON output structure, field filtering,
  and minified format
- Document that --json takes priority over subcommands (refresh/reset)

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza ac92688cc5 docs(cliproxy): clarify catalog --json output format in JSDoc
Use TypeScript-style index signature notation instead of ambiguous
placeholder name in format description.

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
Sergey Galuza dceb6f6d37 feat(cliproxy): add --json flag to catalog command
Add machine-readable JSON output for `ccs cliproxy catalog --json`
to enable programmatic access to available models per provider.

Output format: { "provider": [{ "id": "...", "name": "..." }, ...] }

Closes CCS-1

Built [OnSteroids](https://onsteroids.ai)
2026-04-11 20:12:46 +02:00
buiducnhat 36d828f99c feat(websearch): add url property to WebSearchProviderConfig interface 2026-04-11 19:35:41 +07:00
buiducnhat eec8c8b4a3 feat(websearch): add SearXNG provider support and configuration
- Updated websearch.md to include SearXNG in the configuration guide.
- Implemented SearXNG JSON API integration in websearch-transformer.cjs.
- Enhanced unified-config-loader.ts to support SearXNG settings.
- Defined SearXNG configuration types in unified-config-types.ts.
- Updated hook-env.ts to manage SearXNG environment variables.
- Modified status.ts to include SearXNG in web search provider checks.
- Added SearXNG routes and validation in websearch-routes.ts.
- Implemented SearXNG provider tests in websearch-transformer.test.ts.
- Updated readiness tests to account for SearXNG in status.test.ts.
- Enhanced websearch routes tests to validate SearXNG settings.
- Added SearXNG configuration fields in the UI settings.
2026-04-11 16:43:59 +07: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
Kai (Tam Nhu) TranandGitHub dcc584e375 Merge pull request #951 from kaitranntt/kai/feat/765-huggingface-inference-providers
feat: add Hugging Face API profile preset
2026-04-10 18:27:24 -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 0e4677f558 fix: sanitize cliproxy provider model pickers 2026-04-10 18:07:22 -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 e090c8b0d4 fix(image-analysis): preserve default runtime deps 2026-04-10 17:40:27 -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 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 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 63b67f1c1c feat(profiles): add local runtime readiness checks 2026-04-10 05:49:38 -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