AI Overview

AI center dashboard

AuraBoot is a metadata-first application platform with AI built into the same pipeline that powers the rest of the system. AI features do not bypass models, commands, permissions, or audit. They reuse them.

This page maps the five surfaces that make up AuraBoot's AI layer and explains when each one is the right tool.

Capability Map

SurfaceAudienceRole
Agent SystemArchitects, plugin authorsThe runtime that loads agent definitions, selects tools, and executes guarded steps
AI Copilot (AuraBot panel)End usersThe chat panel embedded in the web admin shell
Aura BotEnd users on IMThe same agent runtime exposed through chat channels (@AI, DM, group reply)
MCPExternal tool consumersThe Model Context Protocol surface that exposes AuraBoot tools to other agents
ACPBackend integratorsThe Agent Communication Protocol (/execute, SSE event stream) used for server-to-server agent runs

All five share one execution path. Every chat turn, every IM mention, every ACP /execute call, and every MCP tool invocation goes through ConversationTurnService.runTurn (or resumeTurn for approval gates). This is the chokepoint that guarantees persistence, audit, event publishing, and streaming consistency.

How They Fit Together

                    +-----------------------------+
                    |       LLM Providers         |
                    | (Anthropic, OpenAI,         |
                    |  DeepSeek, Qianwen, Zhipu,  |
                    |  Moonshot)                  |
                    +--------------+--------------+
                                   |
                    +--------------v--------------+
                    |     Agent Runtime           |
                    |  - Agent definitions        |
                    |  - Tool selection           |
                    |  - Guardrails               |
                    +--------------+--------------+
                                   |
                    +--------------v--------------+
                    |  ConversationTurnService    |  <- single chokepoint
                    |  runTurn / resumeTurn       |
                    +--------------+--------------+
                                   |
       +---------+---------+-------+-------+---------+----------+
       |         |         |               |         |          |
   AI Copilot  Aura Bot   ACP /execute   MCP tools  Approval   Audit /
   (web)       (IM)       (server agent) (external) gate       trace

The same response goes to the right ResponseSink:

  • SseResponseSink for HTTP streaming (Copilot panel, ACP)
  • BroadcastResponseSink for IM channels and group chat fan-out

When To Use Which

Use casePick
End user asks a question inside the web adminAI Copilot
End user mentions @AI in IM or DMs the botAura Bot
External agent (Claude Desktop, another platform) wants to call AuraBoot toolsMCP
Another backend service needs to run an agent and stream eventsACP
Plugin author needs to add a new tool, prompt, or guardrailAgent System + plugin packaging

Shared Invariants

Regardless of surface, the following always hold:

  • A tool call goes through the standard command pipeline (auth, validation, transaction, audit).
  • Permission codes follow <module>.<resource>.<action> and are checked per call.
  • High-risk operations route to the approval gate and pause the turn until resolved.
  • Every turn writes trace spans with prompt, model, tool calls, latency, and cost.
  • Conversation state is durable; resuming an interrupted turn is supported.

Example: One Question, Four Surfaces

A user asking "How many overdue tasks does Alice have?" can hit any surface:

# Copilot panel
POST /api/ai/aurabot/chat/stream
{ "agentCode": "operations-helper", "conversationId": 1024, "message": "How many overdue tasks does Alice have?" }

# Aura Bot (IM mention)
@AI How many overdue tasks does Alice have?

# ACP (server agent, resumes via /execute)
POST /api/ai/aurabot/execute
{ "agentCode": "operations-helper", "message": "...overdue tasks for Alice..." }

# MCP (external client)
tools/call name=cmd:task:query args={ "assignee": "alice", "status": "overdue" }

All four resolve to the same agent, the same tool contract, and the same audit record.

Verify Checklist

  • You can identify which surface (Copilot / Bot / ACP / MCP) your scenario uses.
  • The tool you intend to expose is registered as a command with a permission code.
  • You understand that all turns flow through ConversationTurnService.
  • You know whether your action is low-risk (auto-execute) or high-risk (approval gate).

Related