Source: packages/oracle-runtime/src/plugins/portal/
| Attribute | Value |
|---|---|
| Visibility | on-demand |
| Stability | stable |
| Category | ui |
| Default state | On |
| Depends on | — |
Summary
The Portal frontend declares its available browser tools on each request via state.browserTools. The plugin wraps each declared tool into a PluginTool and exposes a sub-agent (call_portal_agent) that the main agent can delegate to. If no browser tools are declared, the plugin contributes nothing.
Environment variables
This plugin has no required env vars.
What it contributes
- Tools: none directly — tools are owned by the per-request sub-agent.
- Sub-agents:
call_portal_agent— built only whenstate.browserToolsis non-empty. - Middleware: none.
- HTTP routes: none.
- Shared state: none.
Opt out / Opt in
const app = await createOracleApp({
config,
features: { portal: false }, // never load
// features: { portal: true }, // force load (default)
});When to use it
- The user asks for an action the Portal frontend exposes as a browser tool (declared in
state.browserTools). - A task needs a browser-side capability the server cannot do alone — open a URL in the user's tab, click a Portal button, fill a form.
When NOT to use it
- No browser tools are declared on this request — the sub-agent is not built.
- The task can be completed purely server-side — use a server tool or a different sub-agent.