Live demo

Chat kit: one declaration, one envelope

A reservation is declared once, with a lifecycle. @de_canter/apogee-chat-kit turns that into capabilities that all run the same pipeline and return the same envelope: the state, the data, and what may happen next. The card below is @de_canter/apogee-chat-kit-app; it renders only from the envelope and acts only through capabilities.

Loading the kit…

Declaration

src/demo/rental/kit.ts: a kernel lifecycle, a view schema, and one execute per transition, over the same rental domain as the desk. Approving books a real unit against the calendar, so it can fail.

Projections

This page uses the HTTP projection at /api/kit. The agent-tool names in the table come from toAgentTools on the same kit. registerKit projects it onto an MCP server; this site does not mount one.

Card

EnvelopeProvider with httpTransport. In an MCP Apps host, the same card takes mcpAppTransport instead; nothing else changes.