Interactive Chat Workspace (/app)
The isA Interactive Workspace is the primary canvas where users collaborate with agents. Designed for high productivity and zero latency, it pairs a streaming chat timeline with real-time tool observation and side-by-side artifact rendering.
Workspace Layout & Session Routing
Session URL Lifecycle
Every conversation in the workspace is assigned an immutable, unique session identifier:
https://isagent.io/app/c/sess_9f82a17b8c- Shallow Navigation: Switching between sessions in the sidebar updates the URL via Next.js shallow routing without unmounting the provider tree.
- State Hydration: When reloading or sharing a session link, the client automatically restores the message timeline, active agent state, and associated artifacts.
Model Selection & Reasoning Tiers
The workspace header provides instant switching between cognitive model tiers:
┌────────────────────────────────────────────────────────┐
│ Model Pool Selector: │
│ [⚡ Fast (Latency Tier)] • Low-latency triage & edits│
│ [🎯 Standard (Balanced)] • General analysis & tools │
│ [🧠 Deep Reasoning] • Architecture & complex SWE │
└────────────────────────────────────────────────────────┘- SenseNode Auto-Routing: If enabled, the platform classifies user intent on the fly and automatically routes the prompt to the most cost-efficient and capable model tier.
The Thinking Stream
For reasoning models and multi-step agent plans, the workspace renders a collapsible Thinking Stream directly above the agent’s final text:
> Plan a database migration from Postgres to ClickHouse for 50M event rows
▼ 💭 Thinking Process (Expanded · 1.4s)
├─ 1. Analyzing Postgres table schema and index constraints...
├─ 2. Calculating memory footprint for 50M records with 12 columns...
├─ 3. Evaluating partition keys: selecting `toYYYYMM(event_time)`...
└─ 4. Constructing ClickHouse `ReplacingMergeTree` DDL with deduplication...Users can click the header to collapse or expand the thinking stream at any time.
Tool Invocation Cards & MCP Visibility
When an agent invokes external tools (via Model Context Protocol or built-in utilities), an interactive Tool Card is rendered in the timeline:
┌──────────────────────────────────────────────────────────────────┐
│ ⚡ Tool Call: mcp::github::create_pull_request │
│ Status: [Success ✓] • Duration: 340ms │
├──────────────────────────────────────────────────────────────────┤
│ Parameters: │
│ { │
│ "repo": "xenoISA/isA_App", │
│ "title": "feat(auth): add PKCE authorization code grant flow", │
│ "head": "feature/pkce-auth", │
│ "base": "main" │
│ } │
├──────────────────────────────────────────────────────────────────┤
│ Result: PR #429 created (https://github.com/xenoISA/isA_App/pull/429)│
└──────────────────────────────────────────────────────────────────┘Human-in-the-Loop (HITL) Inline Interruption
When an agent triggers a destructive or privileged operation (such as modifying production data, executing raw shell commands, or provisioning cloud infrastructure), execution pauses and presents a Human-in-the-Loop Card:
┌──────────────────────────────────────────────────────────────────┐
│ ⚠️ Approval Required: Cedar Policy Guard │
│ Action: Drop table `staging_analytics_cache` │
│ Target: us-central1-postgres-prod │
├──────────────────────────────────────────────────────────────────┤
│ The agent has requested destructive execution. Please choose: │
│ │
│ [ Approve & Continue ] [ Modify Parameters ] [ Reject ] │
└──────────────────────────────────────────────────────────────────┘Execution resumes automatically once the user clicks an action, with the decision recorded in the tamper-evident audit log.