Data Model: hbf-webchat
This service does not directly access domain objects. It is a client-side web widget (TypeScript/React 18) that communicates via Microsoft Bot Framework Direct Line.
Data Consumed (Client-Side)
| Object | Access | Key Fields Used |
|---|---|---|
| BotDeployment configuration | reads via HTTP fetch to hbf-core | tenantId, deploymentId, widget settings, styling |
| Chat messages | reads/writes via Direct Line WebSocket | text, attachments, suggested actions, adaptive cards |
| CSAT surveys | reads via bot messages | survey questions, responses |
Local State (Browser)
| Object | Storage | Purpose |
|---|---|---|
| Session | localStorage/sessionStorage | userId, conversation token, session duration |
| Message history | in-memory store | transcript for display and replay |
| Bot properties | in-memory | widget configuration, styling, feature flags |
Notes
- No server-side data access. Pure frontend widget.
- Fetches bot deployment configuration from hbf-core's public API at initialization.
- All conversation data flows through Microsoft Bot Framework Direct Line protocol.
- No dependency on
@helvia/hbf-core-api. - Supports multiple channels: embedded web widget with configurable styling.
- Manages local notification state, speech-to-text, and file upload capabilities.