Skip to content
Rookery OS

RookeryOS — Platform Admin Console

app.agentworksstudio.com — The command center for the agentic workforce

Overview

The Platform Admin Console is the web interface for managing the entire RookeryOS platform. It's a React 19 single-page application that provides role-based access for platform administrators, tenant administrators, and end users.

URL: app.agentworksstudio.com Tech: React 19 + TypeScript + Vite + Tailwind CSS Container: nginx:alpine serving static assets on port 8080


Architecture

┌─────────────────────────────────────────────────────────────┐
│  Platform Admin Console (React 19 SPA)                      │
│                                                              │
│  ┌───────────────────────────────────────────────────────┐  │
│  │  Role-Based Routing                                   │  │
│  │                                                       │  │
│  │  /admin/*        Platform Admin (system-wide)         │  │
│  │  /tenant-admin/* Tenant Admin (own org)               │  │
│  │  /user/*         End User (personal workspace)        │  │
│  │  /factory/*      Agent Factory (create agents)        │  │
│  │                                                       │  │
│  │  Public: /login, /signup, /reset-password, etc.      │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                              │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │ Mission  │  │ Workspace│  │ Bridge   │  │ Agent    │    │
│  │ Control  │  │ Tools    │  │ Protocol │  │ Factory  │    │
│  │          │  │          │  │          │  │          │    │
│  │ Overview │  │ Prism    │  │ Beacons  │  │ Templates│    │
│  │ Team     │  │ Lighthouse│ │ Dashboard│  │ Configure│    │
│  │ Budgets  │  │ Calendar │  │ DayShift │  │ Spinup   │    │
│  │ Credits  │  │ Tasks    │  │ Policy   │  │ Deploy   │    │
│  │ Goals    │  │ CRM      │  │ Prism    │  │          │    │
│  │ Warroom  │  │ Content  │  │          │  │          │    │
│  │ Lighthouse│ │ Social   │  │          │  │          │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
│                                                              │
│  Real-time: Socket.IO WebSocket                             │
│  Auth: JWT with refresh tokens                              │
│  API: Proxy to api.agentworksstudio.com                     │
└─────────────────────────────────────────────────────────────┘

User Roles & Access

Platform Admin (/admin/*)

Full system access. Can see all tenants, agents, and infrastructure.

Pages:

PagePathPurpose
Dashboard/adminSystem overview with key metrics
Tenants/admin/tenantsMulti-tenant organization management
Agents/admin/agentsGlobal agent fleet management
Agent Detail/admin/agents/:idIndividual agent configuration
Agent Learning/admin/agents/:id/learningAI training dashboard
Pod Fleet/admin/pod-fleetKubernetes pod infrastructure monitoring
Revenue/admin/revenueRevenue analytics and billing
Health/admin/healthSystem health monitoring
Settings/admin/settingsPlatform-wide configuration
Support Desk/admin/supportSupport ticket management
Marketplace/admin/marketplacePlugin marketplace management
GPU Dashboard/admin/gpuGPU resource monitoring
Audit Log/admin/audit-logSystem audit trails
Billing Control/admin/billingBilling and subscription management
System Config/admin/system-configInfrastructure configuration
Data Export/admin/data-exportData export tools
Deployment Status/admin/deploymentDeployment pipeline status
Cron Schedules/admin/cronScheduled job management
Scheduled Reports/admin/reportsReport generation and delivery
Content Factory/admin/content-factoryContent generation management
LoRA Adapters/admin/loraLoRA adapter management
Training Data/admin/training-dataTraining data browser
Global Users/admin/usersCross-tenant user management
Connector Health/admin/connectorsAPI connector status
Phone Numbers/admin/phone-numbersVoice service numbers
Ambassador KPIs/admin/ambassador-kpisAmbassador performance metrics
Founders Circle/admin/founders-circleFounders Circle management

Mission Control (/admin/mission-control/*)

The business command center — a real-time dashboard for running the business.

PagePurpose
OverviewExecutive dashboard with key metrics
TeamTeam member management
DocumentsDocument management
Virtual OfficeDigital workspace
ProjectsProject management
MemoryAgent memory browser
BudgetsFinancial oversight
CreditsLLM credit usage
HeartbeatsAgent health monitoring
GoalsOKR tracking
WarroomCrisis management
CampaignsMarketing campaigns
Agent MetricsAgent performance analytics
LighthouseKnowledge base health
Social InboxSocial media management
Content PlannerContent calendar
Audit DossierSecurity audit status

Workspace (/admin/workspace/*)

Admin's personal productivity tools.

PagePurpose
PrismThe workflow home — 5 tabs: Projects | Tasks | Beacons | Stickies | Schedule (see below)
LighthouseKnowledge base viewer
AssessmentNavigator Lab assessments
CalendarScheduling
NotesNote-taking
CRMCustomer relationship management
Content FactoryContent generation
Social StudioSocial media management
WebinarsWebinar management
RecordingsScreen/audio recordings
ChannelsCommunication channels
IntegrationsThird-party connections

Prism IA (AWS 3.0 M7-W8): there are no separate Workflows or beacon-Schedule nav entries — workflow canvases (beacon builder) and the beacon schedule are tabs inside Prism. Tasks and Stickies are likewise Prism tabs. Retired routes redirect: workspace/workflow-canvasprism?tab=beacons, workspace/prism-scheduleprism?tab=schedule, workspace/stickiesprism. (The workspace Schedules page that remains is content-production scheduling — webinars/demos/shorts — not workflow beacons.)

Bridge Protocol (/admin/bridge/*)

The assessment-to-proposal pipeline.

PagePurpose
Beacon BoardPain point visualization
Bridge DashboardPipeline overview
Day Shift ViewDaily task management
Policy ShapingAssessment policy configuration
Prism DashboardRich document dashboard

Tenant Admin (/tenant-admin/*)

Tenant-scoped access. Can manage own organization's agents, team, and billing.

PagePurpose
DashboardTenant overview
AgentsAgent fleet management
TeamTeam member management
BillingSubscription management
CreditsLLM credit usage
SettingsTenant configuration
KnowledgeKnowledge base management
IntegrationsThird-party connections
SupportSupport ticket submission
MarketplacePlugin marketplace
WebhooksWebhook configuration
Avatar OnboardingAvatar setup wizard

User (/user/*)

End user access — personal workspace and agent interactions.

PagePurpose
DashboardPersonal workspace
Agent WorkspaceIndividual agent interaction
TasksPersonal task management
CalendarPersonal scheduling
CommunicationsMessage center
ContactsContact management
SupportSupport access
Knowledge BaseAccess to knowledge docs
Agent DelegationsTask delegation to agents

Agent Factory (/factory/*)

The agent creation wizard.

PagePurpose
TemplatesAgent template library
ConfigureAgent customization form
Spinup ProgressAgent deployment tracking
Fabrication ProgressAgent creation progress
Deploy ConfirmFinal deployment confirmation
Bridge ResultsAssessment results integration

Key Components

AppLayout

The main layout with sidebar navigation:

┌─────────────────────────────────────────────┐
│  Header (logo, user menu, notifications)    │
├──────────┬──────────────────────────────────┤
│          │                                   │
│ Sidebar  │     Main Content Area             │
│          │                                   │
│ • Nav    │     (Route-based pages)           │
│   items  │                                   │
│ • Agent  │                                   │
│   list   │                                   │
│ • Status │                                   │
│          │                                   │
├──────────┴──────────────────────────────────┤
│  Global Capture Bar (recording controls)     │
└─────────────────────────────────────────────┘

Prism — The Workflow Home

Prism (/admin/workspace/prism, /tenant-admin/workspace/prism) is the unified workspace for the canonical flow Create Project → Assign Tasks → Develop Beacons → Arm Schedule, with five tabs:

TabPurpose
ProjectsProject pages (1:1 with projects) — TipTap block editor with table/board/gallery views
TasksTask CRUD + kanban
BeaconsWoven beacon canvases (project, bound patterns, armed schedule, last run) — opens the canvas builder with the 9-pattern picker, Run-chain, and per-node cron Arm/Disarm
StickiesQuick notes (project-linked)
ScheduleUpcoming beacon cron runs + past executions, drag-to-reschedule, session-health indicators

Page blocks include text/headings/lists, TaskBlock, TaskBoardBlock, CodeBlock, AgentSyncBlock, BeaconBlock (canvas embed), LighthouseBlock, image, callout, and divider. Slash Commands: type / in the editor for a command palette with all block types. Full reference: docs/platform/prism.md.

TomChatPanel

Platform admin's personal chat with Tom (CEO's agent):

  • Live avatar display (AvatarPanel)
  • Real-time chat with agent
  • Opens on console startup
  • Integrated voice pipeline

Voice Components

ComponentPurpose
VoicePipelineWebRTC voice call interface
VoicePipelineSettingsVoice configuration
SonarRecorderAudio recording with real-time processing
WorkflowRecorderScreen recording for workflow capture

Capture System

The Global Capture Bar provides screen and audio recording:

GlobalCaptureBar
  ├── Spyglass (screen recording)
  │     Records browser tab + actions
  │     Produces workflow recordings
  │
  └── Sonar (audio recording)
        Records voice via WebRTC
        Transcribes via STT service
        Stores in Lighthouse

Authentication Flow

1. User navigates to app.agentworksstudio.com
2. Unauthenticated → redirect to /login
3. Login form → POST /auth/login
4. Server validates → JWT (accessToken + refreshToken)
5. Client stores tokens (httpOnly cookie or localStorage)
6. Role-based redirect:
   ├── platform_admin → /admin
   ├── tenant_admin → /tenant-admin
   └── user → /user
7. Every API call includes Authorization: Bearer <token>
8. Token refresh on 401 response

Smart Routing

After login, the app determines the best destination:

// Role + tier → destination
if (role === 'platform_admin') redirect('/admin');
if (role === 'tenant_admin') redirect('/tenant-admin');
if (hasActivePod) redirect(`/user/agent-workspace/${podId}`);
else redirect('/user');

Real-Time Features

Socket.IO Integration

// Connection
const socket = io('https://api.agentworksstudio.com', {
  auth: { token: accessToken },
  transports: ['websocket']
});

// Events
socket.on('maintenance-mode', (data) => ...);
socket.on('hitl-alert', (data) => ...);      // Human-in-the-Loop
socket.on('agent-status', (data) => ...);     // Agent health
socket.on('pod-update', (data) => ...);       // Pod lifecycle

WebSocket Namespaces

NamespacePurpose
/General updates, maintenance mode
/hitlHuman-in-the-Loop authentication alerts
/agentAgent status and metrics
/voiceVoice pipeline events

Nginx Configuration

The console runs behind nginx in the Docker container:

server {
    listen 8080;
    root /usr/share/nginx/html;

    # SPA fallback
    location / {
        try_files $uri $uri/ /index.html;
    }

    # API proxy
    location /api/ {
        proxy_pass https://api.agentworksstudio.com;
        proxy_set_header Host api.agentworksstudio.com;
    }

    # WebSocket proxy
    location /socket.io/ {
        proxy_pass https://api.agentworksstudio.com;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # GPU proxy (with auth)
    location /api/gpu/ {
        proxy_pass http://gpu-service:8000;
        proxy_set_header X-Internal-Key $internal_key;
        proxy_set_header X-Tenant-Id $tenant_id;
    }
}

Build & Deploy

Local Development

cd apps/console
pnpm dev    # Start dev server on localhost:3000
            # API proxy → localhost:3001

Production Build

# Docker multi-stage build
docker build -t aw2-console apps/console/

# Or via Vite directly
cd apps/console && pnpm build
# Output: dist/ directory with static assets

GKE Deployment

# Apply K8s resources
kubectl apply -f infrastructure/k8s/platform/console.yaml

# Rolling restart
kubectl rollout restart deployment/aw2-console -n platform

# Check status
kubectl get pods -n platform | grep console
kubectl logs -f deployment/aw2-console -n platform

File Locations

apps/console/
├── src/
│   ├── App.tsx                         # Main router
│   ├── main.tsx                        # Entry point
│   ├── index.css                       # Tailwind base
│   ├── lib/role-maps.ts               # Role-based routing
│   ├── components/                     # Shared components
│   │   ├── AppLayout.tsx              # Main layout + sidebar
│   │   ├── ProtectedRoute.tsx         # Route guard
│   │   ├── GlobalCaptureBar.tsx       # Recording controls
│   │   ├── SonarRecorder.tsx          # Audio recorder
│   │   ├── WorkflowRecorder.tsx       # Screen recorder
│   │   ├── AgentSidebarList.tsx       # Agent nav list
│   │   ├── AvatarPanel.tsx            # Avatar interface
│   │   ├── TomChatPanel.tsx           # Admin chat
│   │   ├── VoicePipeline.tsx          # Voice interface
│   │   ├── CreditGauge.tsx            # Credit display
│   │   ├── OnboardingWizard.tsx       # New user wizard
│   │   └── prism/                     # Rich text editor
│   │       ├── CommandPalette.tsx
│   │       ├── SlashMenu.tsx
│   │       └── blocks/                # Custom blocks
│   ├── contexts/
│   │   └── CaptureContext.tsx         # Global capture state
│   ├── hooks/
│   │   ├── useAuth.tsx                # Authentication
│   │   ├── useApi.tsx                 # API client
│   │   ├── useAssessmentVoice.ts      # Voice assessments
│   │   ├── useVoicePipeline.ts        # Voice calls
│   │   └── useWebRTCVoice.ts          # WebRTC audio
│   └── pages/
│       ├── admin/                     # Platform admin
│       │   ├── mission-control/       # Business ops
│       │   ├── workspace/             # Productivity tools
│       │   └── bridge/               # Assessment pipeline
│       ├── tenant-admin/             # Tenant management
│       ├── user/                     # End user
│       ├── factory/                  # Agent creation
│       └── Auth pages                # Login, signup, etc.
├── package.json                       # @agentworks/console v2.0.0
├── vite.config.ts                     # Build + proxy config
├── Dockerfile                         # Multi-stage build
└── nginx.conf                         # Production server

Dependencies

Core

PackageVersionPurpose
react19.0.0UI framework
react-router-dom7.1.1Client-side routing
socket.io-client4.8.3Real-time WebSocket
@tiptap/react3.23.4Rich text editor
lucide-reactlatestIcon library
tailwindcss3.xStyling

Dev

PackageVersionPurpose
vite6.0.7Build tool
typescript5.7.3Type checking
@playwright/testlatestE2E testing