Skip to main content
This page documents the functional management sections of the Palyra Web Console. While the Chat Console handles real-time agent interaction, these sections provide the administrative and operational surface for monitoring system health, managing browser automation, governing resource usage, and configuring automated routines.

Operations and Diagnostics

The OperationsSection serves as the central hub for system observability and troubleshooting. It aggregates data from the daemon’s internal diagnostics, audit logs, and self-healing subsystems.

Data Flow and Diagnostics

The section consumes a diagnosticsSnapshot provided by the useConsoleAppState hook apps/web/src/console/sections/OperationsSection.tsx#39-40. This snapshot contains real-time status for:

Background Queue Management

The daemon maintains a background task loop (spawn_background_queue_loop) that processes asynchronous operations such as delegation merges and long-running tool executions crates/palyra-daemon/src/background_queue.rs#30-34. The OperationsSection monitors these tasks, including their state (e.g., running, failed, cancel_requested) and attempt counts crates/palyra-daemon/src/background_queue.rs#148-150. Operations Component Interaction Sources: apps/web/src/console/sections/OperationsSection.tsx#47-109, crates/palyra-daemon/src/background_queue.rs#30-60, crates/palyra-daemon/src/self_healing.rs#1-20

Browser Automation Workbench

The BrowserSection provides a dedicated interface for managing palyra-browserd sessions. It allows operators to manually trigger browser actions, inspect console logs, and retrieve artifacts like PDF exports or screenshots from failed steps.

Session Lifecycle

  1. Profile Management: Creation and activation of browser profiles (Persistence vs. Ephemeral) apps/web/src/console/sections/BrowserSection.tsx#71-74.
  2. Session Control: Spawning new browser instances via createBrowserSession apps/web/src/console/sections/BrowserSection.tsx#75-75.
  3. Action Dispatch: Sending commands (Click, Type, Navigate) to the active session apps/web/src/console/sections/BrowserSection.tsx#78-78.

Diagnostic Integration

When an agent or operator performs a browser action, the section displays: Sources: apps/web/src/console/sections/BrowserSection.tsx#105-158, apps/web/src/console/sections/BrowserSection.tsx#161-193

Governance and Usage

The UsageSection implements the UI for the daemon’s governance engine. It tracks token consumption and latency across three dimensions: Sessions, Agents, and Model Profiles.

Key Metrics and Aggregates

The section uses the useUsageDomain hook to fetch aggregated data from the JournalStore apps/web/src/console/sections/UsageSection.tsx#32-32. Sources: apps/web/src/console/sections/UsageSection.tsx#80-106, apps/web/src/console/hooks/useUsageDomain.ts#11-25

Admin Views: Agents and Cron

Agent Management

The AgentsSection (and corresponding backend handlers) allows for CRUD operations on agent definitions.

Cron and Routines

The CronSection manages automated agent runs. It supports multiple trigger types: Routine Configuration Structure
FieldPurpose
concurrencyPolicyHandles overlaps (forbid, replace, queue_one) apps/web/src/console/sections/routinesHelpers.ts#62-66
misfirePolicyDetermines behavior after downtime (skip, catch_up) apps/web/src/console/sections/routinesHelpers.ts#68-71
deliveryModeWhere output is sent (same_channel, local_only, etc.) apps/web/src/console/sections/routinesHelpers.ts#73-78
Sources: apps/web/src/console/sections/CronSection.tsx#58-138, apps/web/src/console/sections/routinesHelpers.ts#12-44, crates/palyra-daemon/src/transport/http/handlers/console/agents.rs#44-66
The ConsoleShell acts as the primary layout wrapper, providing top-level navigation and managing the global application state. The shell utilizes a CapabilityCatalog to determine which sections are visible to the current user based on their permissions and the daemon’s configuration apps/web/src/console/sections/OperationsSection.tsx#48-49.

Run Management and Cancellation

The shell provides the global “Cancel” capability for active runs. When a cancellation is requested via the UI, the daemon transitions the RunStateMachine:
  1. Request: is_orchestrator_cancel_requested returns true crates/palyra-daemon/src/application/run_stream/orchestration.rs#113-114.
  2. Transition: transition_run_stream_to_cancelled is called crates/palyra-daemon/src/application/run_stream/cancellation.rs#16-21.
  3. Cleanup: The RunLifecycleState is updated to Cancelled in the JournalStore, and heartbeats are cleared crates/palyra-daemon/src/application/run_stream/cancellation.rs#27-33.
Sources: apps/web/src/console/ConsoleShell.tsx#1-50, crates/palyra-daemon/src/application/run_stream/orchestration.rs#106-121, crates/palyra-daemon/src/application/run_stream/cancellation.rs#16-47