Commit Graph
1203 Commits
Author SHA1 Message Date
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 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
Tam Nhu Tran b6aa6fb0d4 fix(cliproxy): cover managed prefix review follow-up 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 0c10cb6f47 fix(cliproxy): harden routing prefix sync and UI pinning 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 4d5e52828b feat(cliproxy): add pinned model routing prefixes 2026-04-10 01:16:31 -04:00
Tam Nhu Tran 7ac6d0a4d4 fix(review): harden quota retry and tooltip edge cases 2026-04-09 00:14:51 -04:00
Tam Nhu Tran b6fb443f57 fix(cliproxy): refresh non-default gemini quota tokens 2026-04-08 23:55:55 -04:00
Tam Nhu Tran 7bbf32ae9a feat(cliproxy): source model pickers from upstream catalogs
- fetch live provider model definitions through /api/cliproxy/catalog

- overlay CCS preset metadata without keeping UI dropdowns as the source of truth

- wire /cliproxy and quick setup to the upstream-backed catalog path
2026-04-08 17:23:35 -04:00
Tam Nhu Tran 1923fce2ed fix(logging): harden log storage and cleanup 2026-04-08 16:34:36 -04:00
Tam Nhu Tran 42481c0bb9 fix(logging): address review feedback on cleanup and log reader 2026-04-08 15:57:15 -04:00
Tam Nhu Tran 6c799b2e58 feat(logging): unify CCS runtime logs and dashboard viewer
- add a shared structured logging service with bounded retention

- expose native /api/logs endpoints and the dashboard /logs route

- wire focused runtime emitters, cleanup support, and feature tests

Refs #926
2026-04-08 15:57:15 -04:00