wiil-core-js 0.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/core/account/index.d.ts +7 -0
- package/dist/core/account/index.js +23 -0
- package/dist/core/account/organization.schema.d.ts +118 -0
- package/dist/core/account/organization.schema.js +91 -0
- package/dist/core/account/project.schema.d.ts +121 -0
- package/dist/core/account/project.schema.js +102 -0
- package/dist/core/account/supported-business-verticals.d.ts +8 -0
- package/dist/core/account/supported-business-verticals.js +23 -0
- package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
- package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
- package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
- package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
- package/dist/core/assistant-setups/index.d.ts +4 -0
- package/dist/core/assistant-setups/index.js +21 -0
- package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
- package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
- package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
- package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
- package/dist/core/base.schema.d.ts +34 -0
- package/dist/core/base.schema.js +36 -0
- package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
- package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
- package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
- package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
- package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
- package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
- package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
- package/dist/core/business-mgt/business-location.schema.js +176 -0
- package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
- package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
- package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
- package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
- package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
- package/dist/core/business-mgt/customer-management/index.js +23 -0
- package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
- package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
- package/dist/core/business-mgt/customer.schema.d.ts +111 -0
- package/dist/core/business-mgt/customer.schema.js +73 -0
- package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
- package/dist/core/business-mgt/discount-rule.schema.js +108 -0
- package/dist/core/business-mgt/index.d.ts +16 -0
- package/dist/core/business-mgt/index.js +38 -0
- package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
- package/dist/core/business-mgt/menu-config.schema.js +86 -0
- package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
- package/dist/core/business-mgt/menu-management/index.js +27 -0
- package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
- package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
- package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
- package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
- package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
- package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
- package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
- package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
- package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
- package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
- package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
- package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
- package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
- package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
- package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
- package/dist/core/business-mgt/menu.order.schema.js +149 -0
- package/dist/core/business-mgt/order.schema.d.ts +222 -0
- package/dist/core/business-mgt/order.schema.js +205 -0
- package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
- package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
- package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
- package/dist/core/business-mgt/product-config.schema.js +106 -0
- package/dist/core/business-mgt/product-management/index.d.ts +12 -0
- package/dist/core/business-mgt/product-management/index.js +28 -0
- package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
- package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
- package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
- package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
- package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
- package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
- package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
- package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
- package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
- package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
- package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
- package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
- package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
- package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
- package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
- package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
- package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
- package/dist/core/business-mgt/product-order.schema.js +153 -0
- package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
- package/dist/core/business-mgt/property-config.schema.js +224 -0
- package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
- package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
- package/dist/core/business-mgt/property-management/index.d.ts +6 -0
- package/dist/core/business-mgt/property-management/index.js +22 -0
- package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
- package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
- package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
- package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
- package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
- package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
- package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
- package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
- package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
- package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
- package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
- package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
- package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
- package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
- package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
- package/dist/core/business-mgt/reservation.schema.js +89 -0
- package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
- package/dist/core/business-mgt/service-appointment.schema.js +69 -0
- package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
- package/dist/core/business-mgt/service-config.schema.js +102 -0
- package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
- package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
- package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
- package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
- package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
- package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
- package/dist/core/business-mgt/service-management/index.d.ts +13 -0
- package/dist/core/business-mgt/service-management/index.js +29 -0
- package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
- package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
- package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
- package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
- package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
- package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
- package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
- package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
- package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
- package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
- package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
- package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
- package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
- package/dist/core/business-mgt/service-person.schema.js +38 -0
- package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
- package/dist/core/business-mgt/tax-rule.schema.js +90 -0
- package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
- package/dist/core/conversation/conversation-config.schema.js +351 -0
- package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
- package/dist/core/conversation/conversation-message.schema.js +275 -0
- package/dist/core/conversation/index.d.ts +12 -0
- package/dist/core/conversation/index.js +28 -0
- package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
- package/dist/core/conversation/outbound-call.schema.js +116 -0
- package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
- package/dist/core/conversation/outbound-email.schema.js +150 -0
- package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
- package/dist/core/conversation/outbound-sms.schema.js +85 -0
- package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
- package/dist/core/conversation/outbound-template.schema.js +160 -0
- package/dist/core/conversation/translation-config.schema.d.ts +92 -0
- package/dist/core/conversation/translation-config.schema.js +88 -0
- package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
- package/dist/core/conversation/translation-conversation.schema.js +175 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.js +30 -0
- package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
- package/dist/core/service-configuration/agent-config.schema.js +152 -0
- package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
- package/dist/core/service-configuration/base-agent-setup.js +123 -0
- package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
- package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
- package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
- package/dist/core/service-configuration/deployment-config.schema.js +271 -0
- package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
- package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
- package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
- package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
- package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
- package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
- package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
- package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
- package/dist/core/service-configuration/index.d.ts +17 -0
- package/dist/core/service-configuration/index.js +33 -0
- package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
- package/dist/core/service-configuration/instruction-config.schema.js +139 -0
- package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
- package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
- package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
- package/dist/core/service-configuration/knowledge.schema.js +106 -0
- package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
- package/dist/core/service-configuration/phone-config.schema.js +121 -0
- package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
- package/dist/core/service-configuration/phone-number.schema.js +211 -0
- package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
- package/dist/core/service-configuration/provisioning-config.js +307 -0
- package/dist/core/service-configuration/support-llm.d.ts +95 -0
- package/dist/core/service-configuration/support-llm.js +76 -0
- package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
- package/dist/core/service-configuration/voice-language.schema.js +166 -0
- package/dist/core/type-definitions/account-definitions.d.ts +82 -0
- package/dist/core/type-definitions/account-definitions.js +88 -0
- package/dist/core/type-definitions/business-definitions.d.ts +394 -0
- package/dist/core/type-definitions/business-definitions.js +447 -0
- package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
- package/dist/core/type-definitions/conversation.type.definition.js +236 -0
- package/dist/core/type-definitions/display-order.d.ts +154 -0
- package/dist/core/type-definitions/display-order.js +154 -0
- package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
- package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
- package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
- package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
- package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
- package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
- package/dist/core/type-definitions/index.d.ts +10 -0
- package/dist/core/type-definitions/index.js +26 -0
- package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
- package/dist/core/type-definitions/knowledge-definitions.js +37 -0
- package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
- package/dist/core/type-definitions/service-config.definitions.js +135 -0
- package/dist/core/validators/channel-validation.d.ts +19 -0
- package/dist/core/validators/channel-validation.js +40 -0
- package/dist/core/validators/index.d.ts +5 -0
- package/dist/core/validators/index.js +21 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +24 -0
- package/dist/request/index.d.ts +5 -0
- package/dist/request/index.js +21 -0
- package/dist/request/models/index.d.ts +6 -0
- package/dist/request/models/index.js +22 -0
- package/dist/request/models/paginated-quest.schema.d.ts +33 -0
- package/dist/request/models/paginated-quest.schema.js +35 -0
- package/dist/request/models/paginated-result.schema.d.ts +124 -0
- package/dist/request/models/paginated-result.schema.js +94 -0
- package/package.json +43 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Conversation message schema definitions for chat and email messages.
|
|
4
|
+
*
|
|
5
|
+
* Message schemas define the structure of individual messages exchanged in conversations between users
|
|
6
|
+
* and AI agents. Supports multiple message types (chat, email) with distinct schemas for user-originated
|
|
7
|
+
* and agent-originated messages, enabling proper message threading, context tracking, and channel-specific
|
|
8
|
+
* formatting.
|
|
9
|
+
*
|
|
10
|
+
* @module conversation/conversation-message
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Message type enum for distinguishing message senders.
|
|
14
|
+
*
|
|
15
|
+
* Identifies who sent a message in a conversation to enable proper message
|
|
16
|
+
* routing, formatting, and context tracking.
|
|
17
|
+
*/
|
|
18
|
+
export declare enum MessageType {
|
|
19
|
+
/** Message sent by end user/customer */
|
|
20
|
+
USER = "user",
|
|
21
|
+
/** Message sent by AI agent */
|
|
22
|
+
AGENT = "assistant",
|
|
23
|
+
/** Message sent by human agent (live support) */
|
|
24
|
+
HUMAN_AGENT = "human_agent",
|
|
25
|
+
/** System-generated message (events, notifications) */
|
|
26
|
+
SYSTEM = "system"
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* System message event type enum.
|
|
30
|
+
*
|
|
31
|
+
* Identifies the type of system event that triggered a system message,
|
|
32
|
+
* used for handover tracking, agent status, and conversation transfers.
|
|
33
|
+
*/
|
|
34
|
+
export declare enum SystemMessageEventType {
|
|
35
|
+
/** User or AI requested handover to human agent */
|
|
36
|
+
HANDOVER_REQUESTED = "handover_requested",
|
|
37
|
+
/** Human agent accepted the handover request */
|
|
38
|
+
HANDOVER_ACCEPTED = "handover_accepted",
|
|
39
|
+
/** Handover to human agent completed successfully */
|
|
40
|
+
HANDOVER_COMPLETED = "handover_completed",
|
|
41
|
+
/** Handover attempt failed */
|
|
42
|
+
HANDOVER_FAILED = "handover_failed",
|
|
43
|
+
/** Human agent joined the conversation */
|
|
44
|
+
AGENT_JOINED = "agent_joined",
|
|
45
|
+
/** Human agent left the conversation */
|
|
46
|
+
AGENT_LEFT = "agent_left",
|
|
47
|
+
/** Conversation transferred to another agent or queue */
|
|
48
|
+
CONVERSATION_TRANSFERRED = "conversation_transferred"
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Base chat message schema.
|
|
52
|
+
*
|
|
53
|
+
* Foundation schema for all chat-based messages containing core fields shared by both user and
|
|
54
|
+
* assistant messages. Extended by UserChatMessageSchema and AssistantChatMessageSchema with
|
|
55
|
+
* role-specific identifiers for message threading and conversation flow tracking.
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* **Architecture Context:**
|
|
59
|
+
* - **Extended By**: UserChatMessageSchema, AssistantChatMessageSchema for role-specific messages
|
|
60
|
+
* - **Relationship**: N:1 - Multiple messages belong to one conversation (via conversation_config_id)
|
|
61
|
+
* - **Storage**: Stored in conversation message arrays and separate message collections
|
|
62
|
+
* - **LLM Context**: llm_conversation_id enables multi-turn context tracking with LLM providers
|
|
63
|
+
*
|
|
64
|
+
* **Message Flow:**
|
|
65
|
+
* - User sends message → UserChatMessage created → Agent processes → AssistantChatMessage generated
|
|
66
|
+
* - Messages linked via user_message_id and assistant_message_id for threading
|
|
67
|
+
*/
|
|
68
|
+
export declare const BaseChatMessageSchema: z.ZodObject<{
|
|
69
|
+
conversation_config_id: z.ZodString;
|
|
70
|
+
message: z.ZodString;
|
|
71
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
72
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
/**
|
|
75
|
+
* Base email message schema extending chat message with email-specific fields.
|
|
76
|
+
*
|
|
77
|
+
* Extends BaseChatMessageSchema with email-specific attributes including subject line and email
|
|
78
|
+
* identifier flag. Used as foundation for user and assistant email messages in email-based
|
|
79
|
+
* conversation channels.
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* **Architecture Context:**
|
|
83
|
+
* - **Extends**: BaseChatMessageSchema with email-specific fields
|
|
84
|
+
* - **Extended By**: UserEmailMessageSchema, AssistantEmailMessageSchema
|
|
85
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
86
|
+
* - **Threading**: Subject line enables email thread grouping and conversation continuity
|
|
87
|
+
*
|
|
88
|
+
* **Email Features:**
|
|
89
|
+
* - Subject line for email clients and threading
|
|
90
|
+
* - isEmail flag distinguishes email messages from chat messages in unified message stores
|
|
91
|
+
*/
|
|
92
|
+
export declare const BaseEmailMessageSchema: z.ZodObject<{
|
|
93
|
+
conversation_config_id: z.ZodString;
|
|
94
|
+
message: z.ZodString;
|
|
95
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
96
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
97
|
+
subject: z.ZodString;
|
|
98
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
/**
|
|
101
|
+
* User chat message schema.
|
|
102
|
+
*
|
|
103
|
+
* Represents a message sent by a user/customer in a chat conversation. Contains user-specific
|
|
104
|
+
* identifiers for message threading and links to the previous assistant message to maintain
|
|
105
|
+
* conversation context and flow.
|
|
106
|
+
*
|
|
107
|
+
* @remarks
|
|
108
|
+
* **Architecture Context:**
|
|
109
|
+
* - **Extends**: BaseChatMessageSchema with user-specific fields
|
|
110
|
+
* - **Message Type**: Always 'user' (MessageType.USER)
|
|
111
|
+
* - **Threading**: Links to previous assistant message via last_assistant_message_id
|
|
112
|
+
* - **Flow**: User message → Agent processes → AssistantChatMessage generated
|
|
113
|
+
*
|
|
114
|
+
* **Message Threading:**
|
|
115
|
+
* - user_message_id: Unique identifier for this user message
|
|
116
|
+
* - last_assistant_message_id: References the assistant's previous message being responded to
|
|
117
|
+
* - Enables tracking conversation turns and maintaining context
|
|
118
|
+
*/
|
|
119
|
+
export declare const UserChatMessageSchema: z.ZodObject<{
|
|
120
|
+
conversation_config_id: z.ZodString;
|
|
121
|
+
message: z.ZodString;
|
|
122
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
123
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
124
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.USER>>;
|
|
125
|
+
user_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
126
|
+
last_assistant_message_id: z.ZodOptional<z.ZodString>;
|
|
127
|
+
}, z.core.$strip>;
|
|
128
|
+
/**
|
|
129
|
+
* Assistant chat message schema.
|
|
130
|
+
*
|
|
131
|
+
* Represents a message generated by the AI agent in a chat conversation. Contains agent-specific
|
|
132
|
+
* identifiers and links to the user message being responded to, enabling proper conversation
|
|
133
|
+
* threading and context tracking.
|
|
134
|
+
*
|
|
135
|
+
* @remarks
|
|
136
|
+
* **Architecture Context:**
|
|
137
|
+
* - **Extends**: BaseChatMessageSchema with assistant-specific fields
|
|
138
|
+
* - **Message Type**: Always 'assistant' (MessageType.AGENT)
|
|
139
|
+
* - **Threading**: Links to user message being responded to via last_user_message_id
|
|
140
|
+
* - **Flow**: User message received → Agent generates → AssistantChatMessage created
|
|
141
|
+
*
|
|
142
|
+
* **Message Threading:**
|
|
143
|
+
* - assistant_message_id: Required unique identifier for this assistant message
|
|
144
|
+
* - last_user_message_id: References the user message being responded to
|
|
145
|
+
* - Enables conversation turn tracking and response latency measurement
|
|
146
|
+
*/
|
|
147
|
+
export declare const AssistantChatMessageSchema: z.ZodObject<{
|
|
148
|
+
conversation_config_id: z.ZodString;
|
|
149
|
+
message: z.ZodString;
|
|
150
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
151
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
152
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.AGENT>>;
|
|
153
|
+
assistant_message_id: z.ZodString;
|
|
154
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
/**
|
|
157
|
+
* User email message schema.
|
|
158
|
+
*
|
|
159
|
+
* Represents an email message sent by a user/customer. Extends base email schema with user-specific
|
|
160
|
+
* fields and optional provider message ID for integration with external email services (Gmail, Outlook, etc.).
|
|
161
|
+
*
|
|
162
|
+
* @remarks
|
|
163
|
+
* **Architecture Context:**
|
|
164
|
+
* - **Extends**: BaseEmailMessageSchema with user-specific fields
|
|
165
|
+
* - **Message Type**: Always 'user' (MessageType.USER)
|
|
166
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
167
|
+
* - **Provider Integration**: Links to external email service message IDs
|
|
168
|
+
*
|
|
169
|
+
* **Email Integration:**
|
|
170
|
+
* - provider_message_id enables tracking emails across platforms
|
|
171
|
+
* - Supports Gmail API, Outlook Graph API, SendGrid, etc.
|
|
172
|
+
* - Used for reply-to threading and email service synchronization
|
|
173
|
+
*/
|
|
174
|
+
export declare const UserEmailMessageSchema: z.ZodObject<{
|
|
175
|
+
conversation_config_id: z.ZodString;
|
|
176
|
+
message: z.ZodString;
|
|
177
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
178
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
179
|
+
subject: z.ZodString;
|
|
180
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
181
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.USER>>;
|
|
182
|
+
provider_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
183
|
+
}, z.core.$strip>;
|
|
184
|
+
/**
|
|
185
|
+
* Assistant email message schema.
|
|
186
|
+
*
|
|
187
|
+
* Represents an email message generated by the AI agent in response to a user email. Extends base
|
|
188
|
+
* email schema with assistant message type, used for automated email responses and email-based
|
|
189
|
+
* customer support interactions.
|
|
190
|
+
*
|
|
191
|
+
* @remarks
|
|
192
|
+
* **Architecture Context:**
|
|
193
|
+
* - **Extends**: BaseEmailMessageSchema with assistant-specific fields
|
|
194
|
+
* - **Message Type**: Always 'assistant' (MessageType.AGENT)
|
|
195
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
196
|
+
* - **Use Cases**: Automated customer support replies, FAQ responses, ticket acknowledgments
|
|
197
|
+
*
|
|
198
|
+
* **Email Response Features:**
|
|
199
|
+
* - Inherits subject line from BaseEmailMessageSchema for thread continuity
|
|
200
|
+
* - Agent-generated content formatted for email clients
|
|
201
|
+
* - Supports HTML formatting and attachments via message content
|
|
202
|
+
*/
|
|
203
|
+
export declare const AssistantEmailMessageSchema: z.ZodObject<{
|
|
204
|
+
conversation_config_id: z.ZodString;
|
|
205
|
+
message: z.ZodString;
|
|
206
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
207
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
208
|
+
subject: z.ZodString;
|
|
209
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
210
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.AGENT>>;
|
|
211
|
+
}, z.core.$strip>;
|
|
212
|
+
/**
|
|
213
|
+
* Human agent chat message schema.
|
|
214
|
+
*
|
|
215
|
+
* Represents a message sent by a human support agent in a chat conversation.
|
|
216
|
+
* Used when conversations are handed over from AI to live agents for complex
|
|
217
|
+
* issue resolution or customer preference.
|
|
218
|
+
*
|
|
219
|
+
* @remarks
|
|
220
|
+
* **Architecture Context:**
|
|
221
|
+
* - **Extends**: BaseChatMessageSchema with human agent-specific fields
|
|
222
|
+
* - **Message Type**: Always 'human_agent' (MessageType.HUMAN_AGENT)
|
|
223
|
+
* - **Triggered By**: Handover from AI agent or direct human agent assignment
|
|
224
|
+
* - **Session Tracking**: agent_session_id links to workforce management system
|
|
225
|
+
*
|
|
226
|
+
* @typedef {Object} HumanAgentChatMessage
|
|
227
|
+
* @property {string} message_type - Fixed to 'human_agent'
|
|
228
|
+
* @property {string} agent_message_id - Unique identifier for this human agent message
|
|
229
|
+
* @property {string} agent_session_id - Agent workforce session ID for tracking
|
|
230
|
+
* @property {string} [last_user_message_id] - ID of the user message being responded to
|
|
231
|
+
*/
|
|
232
|
+
export declare const HumanAgentChatMessageSchema: z.ZodObject<{
|
|
233
|
+
conversation_config_id: z.ZodString;
|
|
234
|
+
message: z.ZodString;
|
|
235
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
236
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
237
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.HUMAN_AGENT>>;
|
|
238
|
+
agent_message_id: z.ZodString;
|
|
239
|
+
agent_session_id: z.ZodString;
|
|
240
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
/**
|
|
243
|
+
* Human agent email message schema.
|
|
244
|
+
*
|
|
245
|
+
* Represents an email message sent by a human support agent. Used when email
|
|
246
|
+
* conversations require human intervention for complex issues, escalations,
|
|
247
|
+
* or sensitive customer interactions.
|
|
248
|
+
*
|
|
249
|
+
* @remarks
|
|
250
|
+
* **Architecture Context:**
|
|
251
|
+
* - **Extends**: BaseEmailMessageSchema with human agent-specific fields
|
|
252
|
+
* - **Message Type**: Always 'human_agent' (MessageType.HUMAN_AGENT)
|
|
253
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
254
|
+
* - **Session Tracking**: agent_session_id links to workforce management system
|
|
255
|
+
*
|
|
256
|
+
* @typedef {Object} HumanAgentEmailMessage
|
|
257
|
+
* @property {string} message_type - Fixed to 'human_agent'
|
|
258
|
+
* @property {string} agent_session_id - Agent workforce session ID
|
|
259
|
+
*/
|
|
260
|
+
export declare const HumanAgentEmailMessageSchema: z.ZodObject<{
|
|
261
|
+
conversation_config_id: z.ZodString;
|
|
262
|
+
message: z.ZodString;
|
|
263
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
264
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
265
|
+
subject: z.ZodString;
|
|
266
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
267
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.HUMAN_AGENT>>;
|
|
268
|
+
agent_session_id: z.ZodString;
|
|
269
|
+
}, z.core.$strip>;
|
|
270
|
+
/**
|
|
271
|
+
* System message schema.
|
|
272
|
+
*
|
|
273
|
+
* Represents system-generated messages for tracking conversation events such as
|
|
274
|
+
* handovers, agent joins/leaves, and transfers. Not directly visible to users
|
|
275
|
+
* but recorded for audit trails and conversation state tracking.
|
|
276
|
+
*
|
|
277
|
+
* @remarks
|
|
278
|
+
* **Architecture Context:**
|
|
279
|
+
* - **Extends**: BaseChatMessageSchema with system-specific fields
|
|
280
|
+
* - **Message Type**: Always 'system' (MessageType.SYSTEM)
|
|
281
|
+
* - **Purpose**: Audit trail, conversation state tracking, event logging
|
|
282
|
+
* - **Visibility**: Typically hidden from end users, visible in admin dashboards
|
|
283
|
+
*
|
|
284
|
+
* @typedef {Object} SystemMessage
|
|
285
|
+
* @property {string} message_type - Fixed to 'system'
|
|
286
|
+
* @property {string} system_message_id - Unique identifier for this system message
|
|
287
|
+
* @property {SystemMessageEventType} event_type - Type of system event
|
|
288
|
+
* @property {Object} [metadata] - Additional event-specific metadata
|
|
289
|
+
*/
|
|
290
|
+
export declare const SystemMessageSchema: z.ZodObject<{
|
|
291
|
+
conversation_config_id: z.ZodString;
|
|
292
|
+
message: z.ZodString;
|
|
293
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
294
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
295
|
+
message_type: z.ZodDefault<z.ZodLiteral<MessageType.SYSTEM>>;
|
|
296
|
+
system_message_id: z.ZodString;
|
|
297
|
+
event_type: z.ZodEnum<typeof SystemMessageEventType>;
|
|
298
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
299
|
+
}, z.core.$strip>;
|
|
300
|
+
export type UserChatMessage = z.infer<typeof UserChatMessageSchema>;
|
|
301
|
+
export type AssistantChatMessage = z.infer<typeof AssistantChatMessageSchema>;
|
|
302
|
+
export type UserEmailMessage = z.infer<typeof UserEmailMessageSchema>;
|
|
303
|
+
export type AssistantEmailMessage = z.infer<typeof AssistantEmailMessageSchema>;
|
|
304
|
+
export type HumanAgentChatMessage = z.infer<typeof HumanAgentChatMessageSchema>;
|
|
305
|
+
export type HumanAgentEmailMessage = z.infer<typeof HumanAgentEmailMessageSchema>;
|
|
306
|
+
export type SystemMessage = z.infer<typeof SystemMessageSchema>;
|
|
307
|
+
export type ChatMessage = UserChatMessage | AssistantChatMessage | UserEmailMessage | AssistantEmailMessage | HumanAgentChatMessage | HumanAgentEmailMessage | SystemMessage;
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SystemMessageSchema = exports.HumanAgentEmailMessageSchema = exports.HumanAgentChatMessageSchema = exports.AssistantEmailMessageSchema = exports.UserEmailMessageSchema = exports.AssistantChatMessageSchema = exports.UserChatMessageSchema = exports.BaseEmailMessageSchema = exports.BaseChatMessageSchema = exports.SystemMessageEventType = exports.MessageType = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
/**
|
|
9
|
+
* @fileoverview Conversation message schema definitions for chat and email messages.
|
|
10
|
+
*
|
|
11
|
+
* Message schemas define the structure of individual messages exchanged in conversations between users
|
|
12
|
+
* and AI agents. Supports multiple message types (chat, email) with distinct schemas for user-originated
|
|
13
|
+
* and agent-originated messages, enabling proper message threading, context tracking, and channel-specific
|
|
14
|
+
* formatting.
|
|
15
|
+
*
|
|
16
|
+
* @module conversation/conversation-message
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Message type enum for distinguishing message senders.
|
|
20
|
+
*
|
|
21
|
+
* Identifies who sent a message in a conversation to enable proper message
|
|
22
|
+
* routing, formatting, and context tracking.
|
|
23
|
+
*/
|
|
24
|
+
var MessageType;
|
|
25
|
+
(function (MessageType) {
|
|
26
|
+
/** Message sent by end user/customer */
|
|
27
|
+
MessageType["USER"] = "user";
|
|
28
|
+
/** Message sent by AI agent */
|
|
29
|
+
MessageType["AGENT"] = "assistant";
|
|
30
|
+
/** Message sent by human agent (live support) */
|
|
31
|
+
MessageType["HUMAN_AGENT"] = "human_agent";
|
|
32
|
+
/** System-generated message (events, notifications) */
|
|
33
|
+
MessageType["SYSTEM"] = "system";
|
|
34
|
+
})(MessageType || (exports.MessageType = MessageType = {}));
|
|
35
|
+
/**
|
|
36
|
+
* System message event type enum.
|
|
37
|
+
*
|
|
38
|
+
* Identifies the type of system event that triggered a system message,
|
|
39
|
+
* used for handover tracking, agent status, and conversation transfers.
|
|
40
|
+
*/
|
|
41
|
+
var SystemMessageEventType;
|
|
42
|
+
(function (SystemMessageEventType) {
|
|
43
|
+
/** User or AI requested handover to human agent */
|
|
44
|
+
SystemMessageEventType["HANDOVER_REQUESTED"] = "handover_requested";
|
|
45
|
+
/** Human agent accepted the handover request */
|
|
46
|
+
SystemMessageEventType["HANDOVER_ACCEPTED"] = "handover_accepted";
|
|
47
|
+
/** Handover to human agent completed successfully */
|
|
48
|
+
SystemMessageEventType["HANDOVER_COMPLETED"] = "handover_completed";
|
|
49
|
+
/** Handover attempt failed */
|
|
50
|
+
SystemMessageEventType["HANDOVER_FAILED"] = "handover_failed";
|
|
51
|
+
/** Human agent joined the conversation */
|
|
52
|
+
SystemMessageEventType["AGENT_JOINED"] = "agent_joined";
|
|
53
|
+
/** Human agent left the conversation */
|
|
54
|
+
SystemMessageEventType["AGENT_LEFT"] = "agent_left";
|
|
55
|
+
/** Conversation transferred to another agent or queue */
|
|
56
|
+
SystemMessageEventType["CONVERSATION_TRANSFERRED"] = "conversation_transferred";
|
|
57
|
+
})(SystemMessageEventType || (exports.SystemMessageEventType = SystemMessageEventType = {}));
|
|
58
|
+
/**
|
|
59
|
+
* Base chat message schema.
|
|
60
|
+
*
|
|
61
|
+
* Foundation schema for all chat-based messages containing core fields shared by both user and
|
|
62
|
+
* assistant messages. Extended by UserChatMessageSchema and AssistantChatMessageSchema with
|
|
63
|
+
* role-specific identifiers for message threading and conversation flow tracking.
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* **Architecture Context:**
|
|
67
|
+
* - **Extended By**: UserChatMessageSchema, AssistantChatMessageSchema for role-specific messages
|
|
68
|
+
* - **Relationship**: N:1 - Multiple messages belong to one conversation (via conversation_config_id)
|
|
69
|
+
* - **Storage**: Stored in conversation message arrays and separate message collections
|
|
70
|
+
* - **LLM Context**: llm_conversation_id enables multi-turn context tracking with LLM providers
|
|
71
|
+
*
|
|
72
|
+
* **Message Flow:**
|
|
73
|
+
* - User sends message → UserChatMessage created → Agent processes → AssistantChatMessage generated
|
|
74
|
+
* - Messages linked via user_message_id and assistant_message_id for threading
|
|
75
|
+
*/
|
|
76
|
+
exports.BaseChatMessageSchema = zod_1.default.object({
|
|
77
|
+
conversation_config_id: zod_1.default.string().describe("ID of the conversation configuration this message belongs to (N:1 relationship, references ServiceConversationConfig for conversation context and metadata)"),
|
|
78
|
+
message: zod_1.default.string().describe("Text content of the message sent by user or generated by agent, may include plain text or markdown formatting depending on channel capabilities"),
|
|
79
|
+
timestamp: zod_1.default.number().default(Date.now()).describe("Unix timestamp in milliseconds when the message was created and sent (default: current time, used for chronological ordering and latency analysis)"),
|
|
80
|
+
llm_conversation_id: zod_1.default.string().optional().nullable().describe("LLM provider conversation thread ID for multi-turn context tracking (OpenAI thread ID, Anthropic conversation ID) enabling context retention across messages"),
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Base email message schema extending chat message with email-specific fields.
|
|
84
|
+
*
|
|
85
|
+
* Extends BaseChatMessageSchema with email-specific attributes including subject line and email
|
|
86
|
+
* identifier flag. Used as foundation for user and assistant email messages in email-based
|
|
87
|
+
* conversation channels.
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* **Architecture Context:**
|
|
91
|
+
* - **Extends**: BaseChatMessageSchema with email-specific fields
|
|
92
|
+
* - **Extended By**: UserEmailMessageSchema, AssistantEmailMessageSchema
|
|
93
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
94
|
+
* - **Threading**: Subject line enables email thread grouping and conversation continuity
|
|
95
|
+
*
|
|
96
|
+
* **Email Features:**
|
|
97
|
+
* - Subject line for email clients and threading
|
|
98
|
+
* - isEmail flag distinguishes email messages from chat messages in unified message stores
|
|
99
|
+
*/
|
|
100
|
+
exports.BaseEmailMessageSchema = exports.BaseChatMessageSchema.safeExtend({
|
|
101
|
+
subject: zod_1.default.string().describe("Subject line of the email message used in email clients and for email thread grouping, typically maintained across conversation for proper threading"),
|
|
102
|
+
isEmail: zod_1.default.literal(true).default(true).describe("Flag indicating this is an email message (always true), distinguishes email messages from chat messages in unified message collections"),
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* User chat message schema.
|
|
106
|
+
*
|
|
107
|
+
* Represents a message sent by a user/customer in a chat conversation. Contains user-specific
|
|
108
|
+
* identifiers for message threading and links to the previous assistant message to maintain
|
|
109
|
+
* conversation context and flow.
|
|
110
|
+
*
|
|
111
|
+
* @remarks
|
|
112
|
+
* **Architecture Context:**
|
|
113
|
+
* - **Extends**: BaseChatMessageSchema with user-specific fields
|
|
114
|
+
* - **Message Type**: Always 'user' (MessageType.USER)
|
|
115
|
+
* - **Threading**: Links to previous assistant message via last_assistant_message_id
|
|
116
|
+
* - **Flow**: User message → Agent processes → AssistantChatMessage generated
|
|
117
|
+
*
|
|
118
|
+
* **Message Threading:**
|
|
119
|
+
* - user_message_id: Unique identifier for this user message
|
|
120
|
+
* - last_assistant_message_id: References the assistant's previous message being responded to
|
|
121
|
+
* - Enables tracking conversation turns and maintaining context
|
|
122
|
+
*/
|
|
123
|
+
exports.UserChatMessageSchema = exports.BaseChatMessageSchema.safeExtend({
|
|
124
|
+
message_type: zod_1.default.literal(MessageType.USER).default(MessageType.USER).describe("Message type identifier fixed to 'user' indicating this message was sent by the customer/end-user"),
|
|
125
|
+
user_message_id: zod_1.default.string().optional().nullable().describe("Unique identifier for this user message (typically UUID) used for message threading, deduplication, and reference in assistant responses"),
|
|
126
|
+
last_assistant_message_id: zod_1.default.string().optional().describe("ID of the last assistant message this user message is responding to, creates bidirectional message threading for conversation flow tracking"),
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* Assistant chat message schema.
|
|
130
|
+
*
|
|
131
|
+
* Represents a message generated by the AI agent in a chat conversation. Contains agent-specific
|
|
132
|
+
* identifiers and links to the user message being responded to, enabling proper conversation
|
|
133
|
+
* threading and context tracking.
|
|
134
|
+
*
|
|
135
|
+
* @remarks
|
|
136
|
+
* **Architecture Context:**
|
|
137
|
+
* - **Extends**: BaseChatMessageSchema with assistant-specific fields
|
|
138
|
+
* - **Message Type**: Always 'assistant' (MessageType.AGENT)
|
|
139
|
+
* - **Threading**: Links to user message being responded to via last_user_message_id
|
|
140
|
+
* - **Flow**: User message received → Agent generates → AssistantChatMessage created
|
|
141
|
+
*
|
|
142
|
+
* **Message Threading:**
|
|
143
|
+
* - assistant_message_id: Required unique identifier for this assistant message
|
|
144
|
+
* - last_user_message_id: References the user message being responded to
|
|
145
|
+
* - Enables conversation turn tracking and response latency measurement
|
|
146
|
+
*/
|
|
147
|
+
exports.AssistantChatMessageSchema = exports.BaseChatMessageSchema.safeExtend({
|
|
148
|
+
message_type: zod_1.default.literal(MessageType.AGENT).default(MessageType.AGENT).describe("Message type identifier fixed to 'assistant' indicating this message was generated by the AI agent"),
|
|
149
|
+
assistant_message_id: zod_1.default.string().describe("Required unique identifier for this assistant message (typically UUID) used for message threading, user response linking, and performance tracking"),
|
|
150
|
+
last_user_message_id: zod_1.default.string().optional().describe("ID of the user message this assistant message is responding to, creates bidirectional message threading and enables response latency measurement"),
|
|
151
|
+
});
|
|
152
|
+
/**
|
|
153
|
+
* User email message schema.
|
|
154
|
+
*
|
|
155
|
+
* Represents an email message sent by a user/customer. Extends base email schema with user-specific
|
|
156
|
+
* fields and optional provider message ID for integration with external email services (Gmail, Outlook, etc.).
|
|
157
|
+
*
|
|
158
|
+
* @remarks
|
|
159
|
+
* **Architecture Context:**
|
|
160
|
+
* - **Extends**: BaseEmailMessageSchema with user-specific fields
|
|
161
|
+
* - **Message Type**: Always 'user' (MessageType.USER)
|
|
162
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
163
|
+
* - **Provider Integration**: Links to external email service message IDs
|
|
164
|
+
*
|
|
165
|
+
* **Email Integration:**
|
|
166
|
+
* - provider_message_id enables tracking emails across platforms
|
|
167
|
+
* - Supports Gmail API, Outlook Graph API, SendGrid, etc.
|
|
168
|
+
* - Used for reply-to threading and email service synchronization
|
|
169
|
+
*/
|
|
170
|
+
exports.UserEmailMessageSchema = exports.BaseEmailMessageSchema.safeExtend({
|
|
171
|
+
message_type: zod_1.default.literal(MessageType.USER).default(MessageType.USER).describe("Message type identifier fixed to 'user' indicating this email was sent by the customer/end-user"),
|
|
172
|
+
provider_message_id: zod_1.default.string().optional().nullable().describe("Provider-specific email message ID from external email services (Gmail message ID, Outlook message ID, SendGrid message ID) for email tracking and reply threading"),
|
|
173
|
+
});
|
|
174
|
+
/**
|
|
175
|
+
* Assistant email message schema.
|
|
176
|
+
*
|
|
177
|
+
* Represents an email message generated by the AI agent in response to a user email. Extends base
|
|
178
|
+
* email schema with assistant message type, used for automated email responses and email-based
|
|
179
|
+
* customer support interactions.
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* **Architecture Context:**
|
|
183
|
+
* - **Extends**: BaseEmailMessageSchema with assistant-specific fields
|
|
184
|
+
* - **Message Type**: Always 'assistant' (MessageType.AGENT)
|
|
185
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
186
|
+
* - **Use Cases**: Automated customer support replies, FAQ responses, ticket acknowledgments
|
|
187
|
+
*
|
|
188
|
+
* **Email Response Features:**
|
|
189
|
+
* - Inherits subject line from BaseEmailMessageSchema for thread continuity
|
|
190
|
+
* - Agent-generated content formatted for email clients
|
|
191
|
+
* - Supports HTML formatting and attachments via message content
|
|
192
|
+
*/
|
|
193
|
+
exports.AssistantEmailMessageSchema = exports.BaseEmailMessageSchema.safeExtend({
|
|
194
|
+
message_type: zod_1.default.literal(MessageType.AGENT).default(MessageType.AGENT).describe("Message type identifier fixed to 'assistant' indicating this email was generated by the AI agent"),
|
|
195
|
+
});
|
|
196
|
+
// ============================================================================
|
|
197
|
+
// HUMAN AGENT MESSAGE SCHEMAS
|
|
198
|
+
// ============================================================================
|
|
199
|
+
/**
|
|
200
|
+
* Human agent chat message schema.
|
|
201
|
+
*
|
|
202
|
+
* Represents a message sent by a human support agent in a chat conversation.
|
|
203
|
+
* Used when conversations are handed over from AI to live agents for complex
|
|
204
|
+
* issue resolution or customer preference.
|
|
205
|
+
*
|
|
206
|
+
* @remarks
|
|
207
|
+
* **Architecture Context:**
|
|
208
|
+
* - **Extends**: BaseChatMessageSchema with human agent-specific fields
|
|
209
|
+
* - **Message Type**: Always 'human_agent' (MessageType.HUMAN_AGENT)
|
|
210
|
+
* - **Triggered By**: Handover from AI agent or direct human agent assignment
|
|
211
|
+
* - **Session Tracking**: agent_session_id links to workforce management system
|
|
212
|
+
*
|
|
213
|
+
* @typedef {Object} HumanAgentChatMessage
|
|
214
|
+
* @property {string} message_type - Fixed to 'human_agent'
|
|
215
|
+
* @property {string} agent_message_id - Unique identifier for this human agent message
|
|
216
|
+
* @property {string} agent_session_id - Agent workforce session ID for tracking
|
|
217
|
+
* @property {string} [last_user_message_id] - ID of the user message being responded to
|
|
218
|
+
*/
|
|
219
|
+
exports.HumanAgentChatMessageSchema = exports.BaseChatMessageSchema.safeExtend({
|
|
220
|
+
message_type: zod_1.default.literal(MessageType.HUMAN_AGENT).default(MessageType.HUMAN_AGENT).describe("Message type identifier fixed to 'human_agent' indicating this message was sent by a human support agent"),
|
|
221
|
+
agent_message_id: zod_1.default.string().describe("Unique identifier for this human agent message (typically UUID) used for message threading and response tracking"),
|
|
222
|
+
agent_session_id: zod_1.default.string().describe("Agent workforce session ID linking this message to the human agent's active support session for workload tracking and analytics"),
|
|
223
|
+
last_user_message_id: zod_1.default.string().optional().describe("ID of the user message this human agent message is responding to, creates bidirectional message threading"),
|
|
224
|
+
});
|
|
225
|
+
/**
|
|
226
|
+
* Human agent email message schema.
|
|
227
|
+
*
|
|
228
|
+
* Represents an email message sent by a human support agent. Used when email
|
|
229
|
+
* conversations require human intervention for complex issues, escalations,
|
|
230
|
+
* or sensitive customer interactions.
|
|
231
|
+
*
|
|
232
|
+
* @remarks
|
|
233
|
+
* **Architecture Context:**
|
|
234
|
+
* - **Extends**: BaseEmailMessageSchema with human agent-specific fields
|
|
235
|
+
* - **Message Type**: Always 'human_agent' (MessageType.HUMAN_AGENT)
|
|
236
|
+
* - **Channel**: Used exclusively for EMAIL conversation type
|
|
237
|
+
* - **Session Tracking**: agent_session_id links to workforce management system
|
|
238
|
+
*
|
|
239
|
+
* @typedef {Object} HumanAgentEmailMessage
|
|
240
|
+
* @property {string} message_type - Fixed to 'human_agent'
|
|
241
|
+
* @property {string} agent_session_id - Agent workforce session ID
|
|
242
|
+
*/
|
|
243
|
+
exports.HumanAgentEmailMessageSchema = exports.BaseEmailMessageSchema.safeExtend({
|
|
244
|
+
message_type: zod_1.default.literal(MessageType.HUMAN_AGENT).default(MessageType.HUMAN_AGENT).describe("Message type identifier fixed to 'human_agent' indicating this email was sent by a human support agent"),
|
|
245
|
+
agent_session_id: zod_1.default.string().describe("Agent workforce session ID linking this email to the human agent's active support session"),
|
|
246
|
+
});
|
|
247
|
+
// ============================================================================
|
|
248
|
+
// SYSTEM MESSAGE SCHEMA
|
|
249
|
+
// ============================================================================
|
|
250
|
+
/**
|
|
251
|
+
* System message schema.
|
|
252
|
+
*
|
|
253
|
+
* Represents system-generated messages for tracking conversation events such as
|
|
254
|
+
* handovers, agent joins/leaves, and transfers. Not directly visible to users
|
|
255
|
+
* but recorded for audit trails and conversation state tracking.
|
|
256
|
+
*
|
|
257
|
+
* @remarks
|
|
258
|
+
* **Architecture Context:**
|
|
259
|
+
* - **Extends**: BaseChatMessageSchema with system-specific fields
|
|
260
|
+
* - **Message Type**: Always 'system' (MessageType.SYSTEM)
|
|
261
|
+
* - **Purpose**: Audit trail, conversation state tracking, event logging
|
|
262
|
+
* - **Visibility**: Typically hidden from end users, visible in admin dashboards
|
|
263
|
+
*
|
|
264
|
+
* @typedef {Object} SystemMessage
|
|
265
|
+
* @property {string} message_type - Fixed to 'system'
|
|
266
|
+
* @property {string} system_message_id - Unique identifier for this system message
|
|
267
|
+
* @property {SystemMessageEventType} event_type - Type of system event
|
|
268
|
+
* @property {Object} [metadata] - Additional event-specific metadata
|
|
269
|
+
*/
|
|
270
|
+
exports.SystemMessageSchema = exports.BaseChatMessageSchema.safeExtend({
|
|
271
|
+
message_type: zod_1.default.literal(MessageType.SYSTEM).default(MessageType.SYSTEM).describe("Message type identifier fixed to 'system' indicating this is a system-generated event message"),
|
|
272
|
+
system_message_id: zod_1.default.string().describe("Unique identifier for this system message (typically UUID) used for event tracking and audit trail reference"),
|
|
273
|
+
event_type: zod_1.default.enum(SystemMessageEventType).describe("Type of system event that triggered this message (handover, agent status, transfer events)"),
|
|
274
|
+
metadata: zod_1.default.record(zod_1.default.string(), zod_1.default.unknown()).optional().describe("Additional event-specific metadata as key-value pairs (agent ID, transfer reason, queue name, etc.)"),
|
|
275
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Central export point for conversation schemas.
|
|
3
|
+
* @module conversation
|
|
4
|
+
*/
|
|
5
|
+
export * from './conversation-config.schema';
|
|
6
|
+
export * from './conversation-message.schema';
|
|
7
|
+
export * from './translation-config.schema';
|
|
8
|
+
export * from './translation-conversation.schema';
|
|
9
|
+
export * from './outbound-call.schema';
|
|
10
|
+
export * from './outbound-email.schema';
|
|
11
|
+
export * from './outbound-sms.schema';
|
|
12
|
+
export * from './outbound-template.schema';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Central export point for conversation schemas.
|
|
4
|
+
* @module conversation
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./conversation-config.schema"), exports);
|
|
22
|
+
__exportStar(require("./conversation-message.schema"), exports);
|
|
23
|
+
__exportStar(require("./translation-config.schema"), exports);
|
|
24
|
+
__exportStar(require("./translation-conversation.schema"), exports);
|
|
25
|
+
__exportStar(require("./outbound-call.schema"), exports);
|
|
26
|
+
__exportStar(require("./outbound-email.schema"), exports);
|
|
27
|
+
__exportStar(require("./outbound-sms.schema"), exports);
|
|
28
|
+
__exportStar(require("./outbound-template.schema"), exports);
|