feat(office): add control plane with daemon restart, channel management, and pairing#267
Merged
feat(office): add control plane with daemon restart, channel management, and pairing#267
Conversation
…nt, and pairing - Add restart loop to Docker entrypoint (exit code 75 = restart) so the service can be restarted without killing the container - Main process writes its own PID file and supports exit-code-based restart - Add POST /api/services/restart endpoint with 100ms delayed exit - Add PID 1 guard in CLI daemon stop, API-first restart in CLI - Add pairing API routes (list, approve, revoke, dismiss) - Create TinyOffice control plane page with tabs: Overview, Services, Providers, Logs — merging the old dashboard into a unified view - Add agent workspace path to system prompt - Simplify settings page (remove API connection, moved to control plane) - Remove app-shell connection polling/redirect logic - Update tinyagi-admin SKILL.md with latest CLI commands Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add a unified Control Plane to TinyOffice that consolidates monitoring and management into one page with tabs (Overview, Services, Providers, Logs). Support in-container service restart via a Docker entrypoint restart loop and a new API endpoint.
Changes
whileloop with exit code 75 signaling restart, sotinyagi restartworks inside containers without killing PID 1POST /api/services/restartendpoint with delayed exit so the client gets a response before the process exitsstopDaemon(), API-first restart strategy inrestartDaemon()/control): Tabbed UI merging dashboard into Overview (stats, sessions, agents, teams), Services (daemon, channels, pairing), Providers (built-in + custom), and Logs (queue logs + live SSE events). Disconnected state shows splash screen with editable API address.Testing
npm run buildpasses with no new errors--help,version,status,agent list,channel stop) tested and workingChecklist
type(scope): description)