Skip to main content

Data Model: hbf-session-manager

Domain objects used by this service. Full schemas: docs/domain-model.md

Objects This Service Uses

ObjectAccessKey Fields Used
Tenantreads via hbf-core-apiid, settings, systemSettings, plugins
ChatSessionreads/writes via hbf-core-apiid, status, tenantId, lastInteraction, messages, liveChats
ChatSessionBatchSetStatusCompletedwrites via hbf-core-apisession IDs for batch status update
NLPPipelinereads/writes via hbf-core-apiid, status, tenantId, autoTrain
NLPServicereads via hbf-core-apipipeline configuration
NLPStatusreads via hbf-core-apiTRAINING, FAILED, etc.
TenantUsageDtoreads via hbf-core-apiid, totalNumOfChatSessions, totalNumOfMessages
Surveyreads via HTTP to hbf-coreid, tenantId, organizationId
Userreads via HTTP to hbf-core (auth)id, email, roles

Local Entities

EntityTableDBKey Fields
SessionIntegrationhbf_sessions_integrationsMySQLid, organization_id (unique), enabled, tenants (simple-array), url, error_email_recipient_list (simple-array)
SessionIntegrationHeaderhbf_sessions_headersMySQLid, integration_id (FK, CASCADE), name, value (longtext)
SessionIntegrationErrorhbf_sessions_errorsMySQLid, integration_id (FK, CASCADE), chat_session_id, exception (longtext), tenant_id, created_at

Notes

  • Manages session lifecycle: monitors active sessions, auto-completes stale ones, triggers NLP pipeline retraining.
  • SessionIntegration stores per-organization webhook configurations for session events. Headers are stored separately for flexibility.
  • Tracks integration errors per chat session for debugging webhook failures.
  • Uses hbf-core-api for both the npm client (HBFCoreApi) and direct HTTP calls.
  • Imports from deep path @helvia/hbf-core-api/dist/src/datamodel/nlp for NLPPipeline type.
  • Communicates with hbf-nlp service for NLP pipeline operations.
  • Manages tenant usage limits (chat sessions and messages).