m4Mindset docs

Demos / Your own UI · Halcyon

Halcyon

Your own UI: the UI-less client hands you the conversation as data, so every pixel is yours. In a sleep app, the agent’s breathing widget arrives as data and drives the app’s own orb.

Halcyon · Your own UI · HalcyonEsc

The live demo loads here.

What it shows

  • Your own UI: the UI-less client (createAgentConversation) with the page drawing every bubble, the composer and the status line itself: no Mindset UI on screen
  • A custom widget, halcyon-breathing-timer, arriving as a widget-payload event and drawn as the app’s breathing orb instead of a card
  • A composer held closed until the client is ready, announced through an aria-live status, as the UI-less reference page teaches
  • Situational awareness telling the agent whether a breathing session is running, so it never starts a second one
  • A still orb with a text countdown under prefers-reduced-motion

Files

  • demos/halcyon/demo.json
  • demos/halcyon/widgets/halcyon-breathing-timer.json
  • demos/halcyon/prompt/policy-rules.md
  • src/demos/halcyon/index.tsx
  • src/demos/halcyon/breath.ts
  • src/demos/halcyon/useBreathing.ts

Related docs