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
- Add null check for catalog entries from Partial<Record> type
- Include issueUrl in JSON output for broken model tracking
Built [OnSteroids](https://onsteroids.ai)
- 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)
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)
- 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)
- Add null check for catalog entries from Partial<Record> type
- Include issueUrl in JSON output for broken model tracking
Built [OnSteroids](https://onsteroids.ai)
- 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)
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)
- 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)
Align with claudecode-env-stripping.test.ts style — explain why
CLAUDE_CONFIG_DIR is cleared in beforeEach for consistency across
test files.
Built [OnSteroids](https://onsteroids.ai)
- Extract NEUTRAL_PROFILE_TYPE constant with JSDoc explaining why
CCS_PROFILE_TYPE must be neutralised in subprocess env blocks
- Replace 6 bare '' occurrences with the named constant (DRY)
- Group save/delete operations in beforeEach with section comments
Built [OnSteroids](https://onsteroids.ai)