Skip to main content

Factory

Options: { chatServer, getCapabilities, getModels, getSkills, getMcp, searchAgents, saveAgent, deleteAgent?, catalog? }. Combines a chat server with your agent-management callbacks into a complete AgentUIServer. deleteAgent and catalog are the only optional entries; if you omit deleteAgent, calling it throws.

Context

Shell mode

useShellMode() reports which surfaces the current agentConfig permits — isLibraryEnabled, isComposerEnabled, isNewChatEnabled — and returns the actions selectAgent, openDraft, and clearChat, plus settingsOpen / setSettingsOpen. Use it in a custom layout to render only the controls that apply. See Agent modes.

Contract types

The full server contract is re-exported from the package root. The types you are most likely to reference:
AgentUIServer, AgentChatServer, AgentBuilderServer, AgentBuilderCapabilitiesResponse, CatalogServer, TrueForgeServerConfig, CreateTrueForgeServerOptions, TrueForgeServer.
Session, CreateSessionRequest, UpdateSessionRequest, Turn, TurnState, PreviousTurnIdInput.
TurnInputItem, UserMessage, UserMessageContent, UserToolApprovalEvent, UserToolResponseEvent, ApprovalDecision.
TurnStreamData, TurnStreamingEvent, SessionEventItem. The concrete event shapes are in Streaming events.
AgentSpec, AgentConfig, ShellMode, Model, ModelParams, SkillMount, McpServerMount, SaveAgentRequest.
ModelSelection, AgentSkill, ConnectorState, AgentLibraryEntry, SearchAgentsParams.
PageResult, PageParams, TokenPagination, ListSessionsParams, ListSessionsOrder, ListSessionsResponse, ListTurnsResponse, ListSessionEventsResponse.
ModelCatalogServer, ConnectorCatalogServer, SkillCatalogServer, SandboxCatalogServer, plus the ModelProvider*, Connector*, Skill*, and Sandbox* families. See Settings catalog.
Full method signatures are on Server contract; a worked implementation is on Bring your own server.