feat(agent): Pi in-app agent with tool router
New Pi tab. Talks to a typed tool router that maps natural-language intent to real EA2 calls: navigate go to mission / runs / studio / chat / hubs start_process 'run laptop procurement for store-204' send_chat 'tell Mariana that the quote is approved' create_process opens the wizard list_processes pulls published flow definitions for the tenant This is the OSS-pluggable shape: today the router is rule-based and fully wired to FlowMaster; swapping in an LLM provider for intent parsing is a localised change in routeAgentInput().
This commit is contained in:
@@ -9,6 +9,7 @@ import Settings from "./scenes/Settings";
|
||||
import Login from "./scenes/Login";
|
||||
import SsoCallback from "./scenes/SsoCallback";
|
||||
import Chat from "./scenes/Chat";
|
||||
import Agent from "./scenes/Agent";
|
||||
import CommandBar from "./components/CommandBar";
|
||||
import Toaster from "./components/Toaster";
|
||||
import Console from "./components/Console";
|
||||
@@ -75,6 +76,9 @@ export default function App() {
|
||||
<button role="tab" aria-selected={scene === "chat"} className={`tab${scene === "chat" ? " tab-sel" : ""}`} onClick={() => setScene("chat")}>
|
||||
<Bot size={13} /> Chat
|
||||
</button>
|
||||
<button role="tab" aria-selected={scene === "agent"} className={`tab${scene === "agent" ? " tab-sel" : ""}`} onClick={() => setScene("agent")}>
|
||||
<Bot size={13} /> Pi
|
||||
</button>
|
||||
<button role="tab" aria-selected={scene === "settings"} className={`tab${scene === "settings" ? " tab-sel" : ""}`} onClick={() => setScene("settings")}>
|
||||
<Cog size={13} /> Settings
|
||||
</button>
|
||||
@@ -154,6 +158,7 @@ export default function App() {
|
||||
{scene === "history" && <RunHistory />}
|
||||
{scene === "studio" && <Wizard />}
|
||||
{scene === "chat" && <Chat />}
|
||||
{scene === "agent" && <Agent />}
|
||||
{scene === "settings" && <Settings />}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user