feat(services): add Mux managed embedded service - #254
Conversation
…pw#6034) Co-authored-by: Ansh7473 <Ansh7473@users.noreply.github.com>
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Warning Review limit reached
Next review available in: 10 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (23)
Note
|
L17 Latency Budget ReportChecked against: budgets/rest-endpoints.yaml. |
L17 Latency Regression ReportThreshold: 10% p99 regression. |
|
…263) 113_cli_access_tokens.sql (#202) and 113_mux_service_seed.sql (#254 Mux) both landed on the 113 slot after parallel wave merges. migrationRunner getMigrationFiles() throws "Migration version collision detected" on any fresh DB init when two live files share a numeric prefix, breaking startup. Renumber the Mux seed (the later, non-superseded arrival) to the next free slot 122. It is a self-contained INSERT OR IGNORE, so re-running under the new version on already-migrated DBs is a harmless no-op. Verified: db-migration-runner (26), check-migration-numbering (15), db-migration-version-uniqueness (2), usage-analytics (12) all pass.
| try { | ||
| const row = await getServiceRow(TOOL); | ||
| if (!row || row.status === "not_installed") { | ||
| return createErrorResponse({ status: 409, message: "Mux não está instalado." }); |
There was a problem hiding this comment.
CRITICAL: Error message is in Portuguese instead of English
The error message "Mux não está instalado." is inconsistent with the codebase's English language convention for API responses. This could confuse API consumers expecting English messages.
| return createErrorResponse({ status: 409, message: "Mux não está instalado." }); | |
| return createErrorResponse({ status: 409, message: "Mux is not installed." }); |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| try { | ||
| const row = await getServiceRow(TOOL); | ||
| if (!row || row.status === "not_installed") { | ||
| return createErrorResponse({ status: 409, message: "Mux não está instalado." }); |
There was a problem hiding this comment.
CRITICAL: Error message is in Portuguese instead of English
Same issue as the start route - the error message uses Portuguese instead of English.
| return createErrorResponse({ status: 409, message: "Mux não está instalado." }); | |
| return createErrorResponse({ status: 409, message: "Mux is not installed." }); |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| const row = await getServiceRow(TOOL); | ||
|
|
||
| const liveStatus = sup?.getStatus() ?? null; | ||
| const installedVersion = await getInstalledVersion(); |
There was a problem hiding this comment.
WARNING: Missing provider_expose field in status response
The status response is missing the provider_expose field that appears in other embedded service status responses (9Router status includes it). According to the EMBEDDED-SERVICES.md doc, Mux has provider_expose=0, so this should be included for consistency.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
Code Review SummaryStatus: 2 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
WARNING
Files Reviewed (23 files)
Fix these issues in Kilo Cloud Reviewed by laguna-m.1-20260312:free · Input: 257.9K · Output: 7K · Cached: 1.6M |


Port of diegosouzapw#6034 — Mux as a managed embedded service (install/start/stop/restart/update/status/auto-start + logs, dashboard tab, seed migration, route-guard local-only classification).
Follows the 'Adding a New Embedded Service' checklist: installer (
src/lib/services/installers/mux.ts), bootstrap registration, seed migration (113), 7 API endpoints under/api/services/mux/, dashboard tab, docs (EMBEDDED-SERVICES, openapi, ENVIRONMENT), and unit tests (installer + route-guard + dashboard tab, 41 tests green). typecheck:core clean.Co-authored-by: Ansh7473 Ansh7473@users.noreply.github.com