Live demo

Agent chat with tools and cards

The rental desk below is an @de_canter/apogee-agent session with five tools on a demo domain built from @de_canter/apogee-kernel nouns. Tool results that are cards come back through @de_canter/apogee-artifacts; the client is @de_canter/apogee-agent-react over one SSE stream. Card buttons send the next message with a model-only annotation. The agent remembers customer preferences across turns through bounded memory, and it follows the business rules the manager sets on the admin assistant demo: book a mini excavator for a week and watch the deposit-note gate.

You are talking to the rental desk of Apogee Equipment Rentals, a demo company. Try one of the prompts below.
Turns: 0 · Cost this session: $0.0000Context
0%

Server

src/app/api/agent/route.ts: builds the session, runs it, returns agentEventsToReadableStream(events). Rate limited per visitor.

Domain

src/demo/rental/: equipment types and units, Money rates, Identifier serials, a unit Lifecycle, rentals as Commitments, and five Zod-typed tools.

Client

src/components/Chat.tsx: useAgentSession, an artifact registry with two cards, useArtifactActions.