@elqnt/chat 2.0.7 → 3.0.0

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.
Files changed (52) hide show
  1. package/README.md +386 -0
  2. package/dist/api/index.d.mts +308 -0
  3. package/dist/api/index.d.ts +308 -0
  4. package/dist/api/index.js +220 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/index.mjs +183 -0
  7. package/dist/api/index.mjs.map +1 -0
  8. package/dist/hooks/index.d.mts +78 -0
  9. package/dist/hooks/index.d.ts +78 -0
  10. package/dist/hooks/index.js +709 -0
  11. package/dist/hooks/index.js.map +1 -0
  12. package/dist/hooks/index.mjs +683 -0
  13. package/dist/hooks/index.mjs.map +1 -0
  14. package/dist/index.d.mts +4 -109
  15. package/dist/index.d.ts +4 -109
  16. package/dist/index.js +699 -3607
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +690 -3584
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/models/index.d.mts +76 -6
  21. package/dist/models/index.d.ts +76 -6
  22. package/dist/models/index.js +21 -0
  23. package/dist/models/index.js.map +1 -1
  24. package/dist/models/index.mjs +14 -0
  25. package/dist/models/index.mjs.map +1 -1
  26. package/dist/transport/index.d.mts +243 -0
  27. package/dist/transport/index.d.ts +243 -0
  28. package/dist/transport/index.js +875 -0
  29. package/dist/transport/index.js.map +1 -0
  30. package/dist/transport/index.mjs +843 -0
  31. package/dist/transport/index.mjs.map +1 -0
  32. package/dist/types-BB5nRdZs.d.mts +222 -0
  33. package/dist/types-CNvuxtcv.d.ts +222 -0
  34. package/package.json +32 -40
  35. package/dist/hooks/use-websocket-chat-admin.d.mts +0 -17
  36. package/dist/hooks/use-websocket-chat-admin.d.ts +0 -17
  37. package/dist/hooks/use-websocket-chat-admin.js +0 -1196
  38. package/dist/hooks/use-websocket-chat-admin.js.map +0 -1
  39. package/dist/hooks/use-websocket-chat-admin.mjs +0 -1172
  40. package/dist/hooks/use-websocket-chat-admin.mjs.map +0 -1
  41. package/dist/hooks/use-websocket-chat-base.d.mts +0 -81
  42. package/dist/hooks/use-websocket-chat-base.d.ts +0 -81
  43. package/dist/hooks/use-websocket-chat-base.js +0 -1025
  44. package/dist/hooks/use-websocket-chat-base.js.map +0 -1
  45. package/dist/hooks/use-websocket-chat-base.mjs +0 -1001
  46. package/dist/hooks/use-websocket-chat-base.mjs.map +0 -1
  47. package/dist/hooks/use-websocket-chat-customer.d.mts +0 -24
  48. package/dist/hooks/use-websocket-chat-customer.d.ts +0 -24
  49. package/dist/hooks/use-websocket-chat-customer.js +0 -1092
  50. package/dist/hooks/use-websocket-chat-customer.js.map +0 -1
  51. package/dist/hooks/use-websocket-chat-customer.mjs +0 -1068
  52. package/dist/hooks/use-websocket-chat-customer.mjs.map +0 -1
@@ -1,7 +1,24 @@
1
- import { KGNode } from '@elqnt/kg';
2
- import { Variable, ResponseMetadata } from '@elqnt/types';
3
- import { DocumentAnalysisResult } from '@elqnt/docs';
1
+ import { ResponseMetadata, Variable } from '@elqnt/types';
4
2
 
3
+ /**
4
+ * Generic placeholder for KGNode when @elqnt/kg is not available.
5
+ * Import from @elqnt/kg for full type support.
6
+ */
7
+ type KGNode = {
8
+ id: string;
9
+ type: string;
10
+ properties?: Record<string, unknown>;
11
+ [key: string]: unknown;
12
+ };
13
+ /**
14
+ * Generic placeholder for DocumentAnalysisResult when @elqnt/docs is not available.
15
+ * Import from @elqnt/docs for full type support.
16
+ */
17
+ type DocumentAnalysisResult = {
18
+ pages?: unknown[];
19
+ content?: string;
20
+ [key: string]: unknown;
21
+ };
5
22
  type ChatStatusTS = 'active' | 'disconnected' | 'abandoned' | 'closed' | 'archived';
6
23
  type ChatStatus = string;
7
24
  declare const ChatStatusActive: ChatStatus;
@@ -271,7 +288,15 @@ declare const ChatEventTypePong: ChatEventType;
271
288
  declare const ChatEventTypeSkillActivate: ChatEventType;
272
289
  declare const ChatEventTypeSkillDeactivate: ChatEventType;
273
290
  declare const ChatEventTypeSkillsChanged: ChatEventType;
274
- type ChatEventTypeTS = "message" | "user_joined" | "user_left" | "typing" | "stopped_typing" | "read" | "delivered" | "reconnected" | "error" | "message_status_update" | "load_chat" | "load_chat_response" | "waiting" | "waiting_for_agent" | "human_agent_joined" | "end_chat" | "chat_ended" | "human_agent_left" | "observer_joined" | "observer_left" | "list_chats" | "chat_updated" | "chat_removed" | "sync_metadata" | "sync_metadata_response" | "sync_user_session" | "sync_user_session_response" | "agent_session_start" | "agent_session_end" | "agent_status_change" | "agent_activity_ping" | "agent_chat_assigned" | "agent_chat_completed" | "client_action" | "client_action_callback" | "show_csat_survey" | "csat_response" | "user_suggested_actions" | "user_suggested_action_selected" | "summary_update" | "agent_context_update" | "agent_execution_started" | "agent_execution_ended" | "load_agent_context" | "load_agent_context_response" | "plan_pending_approval" | "plan_approved" | "plan_rejected" | "plan_completed" | "step_started" | "step_completed" | "step_failed" | "new_chat" | "new_chat_created" | "block_user" | "ping" | "pong" | "create_room" | "room_created" | "join_room" | "leave_room" | "delete_room" | "room_deleted" | "update_room" | "room_updated" | "invite_user" | "user_invited" | "room_user_joined" | "room_user_left" | "user_removed" | "list_rooms" | "rooms_response" | "message_edited" | "message_deleted" | "message_reaction" | "message_reply" | "mention_user" | "message_edited_response" | "message_deleted_response" | "message_reaction_response" | "user_presence_start" | "user_presence_end" | "user_status_change" | "user_activity" | "user_presence_changed" | "user_activity_update" | "get_online_users" | "online_users" | "get_agents" | "get_agents_response" | "skill_activate" | "skill_deactivate" | "skills_changed";
291
+ /**
292
+ * ** Attachment processing events (deferred document processing)
293
+ */
294
+ declare const ChatEventTypeAttachmentProcessingStarted: ChatEventType;
295
+ declare const ChatEventTypeAttachmentProcessingProgress: ChatEventType;
296
+ declare const ChatEventTypeAttachmentProcessingComplete: ChatEventType;
297
+ declare const ChatEventTypeAttachmentProcessingError: ChatEventType;
298
+ declare const ChatEventTypeRetryAttachment: ChatEventType;
299
+ type ChatEventTypeTS = "message" | "user_joined" | "user_left" | "typing" | "stopped_typing" | "read" | "delivered" | "reconnected" | "error" | "message_status_update" | "load_chat" | "load_chat_response" | "waiting" | "waiting_for_agent" | "human_agent_joined" | "end_chat" | "chat_ended" | "human_agent_left" | "observer_joined" | "observer_left" | "list_chats" | "chat_updated" | "chat_removed" | "sync_metadata" | "sync_metadata_response" | "sync_user_session" | "sync_user_session_response" | "agent_session_start" | "agent_session_end" | "agent_status_change" | "agent_activity_ping" | "agent_chat_assigned" | "agent_chat_completed" | "client_action" | "client_action_callback" | "show_csat_survey" | "csat_response" | "user_suggested_actions" | "user_suggested_action_selected" | "summary_update" | "agent_context_update" | "agent_execution_started" | "agent_execution_ended" | "load_agent_context" | "load_agent_context_response" | "plan_pending_approval" | "plan_approved" | "plan_rejected" | "plan_completed" | "step_started" | "step_completed" | "step_failed" | "new_chat" | "new_chat_created" | "block_user" | "ping" | "pong" | "create_room" | "room_created" | "join_room" | "leave_room" | "delete_room" | "room_deleted" | "update_room" | "room_updated" | "invite_user" | "user_invited" | "room_user_joined" | "room_user_left" | "user_removed" | "list_rooms" | "rooms_response" | "message_edited" | "message_deleted" | "message_reaction" | "message_reply" | "mention_user" | "message_edited_response" | "message_deleted_response" | "message_reaction_response" | "user_presence_start" | "user_presence_end" | "user_status_change" | "user_activity" | "user_presence_changed" | "user_activity_update" | "get_online_users" | "online_users" | "get_agents" | "get_agents_response" | "skill_activate" | "skill_deactivate" | "skills_changed" | "attachment_processing_started" | "attachment_processing_progress" | "attachment_processing_complete" | "attachment_processing_error" | "retry_attachment";
275
300
  type MessageStatus = string;
276
301
  declare const MessageStatusSending: MessageStatus;
277
302
  declare const MessageStatusSent: MessageStatus;
@@ -325,7 +350,9 @@ declare const AttachmentTypeSticker: AttachmentType;
325
350
  declare const AttachmentTypeData: AttachmentType;
326
351
  declare const AttachmentTypeKGNodes: AttachmentType;
327
352
  declare const AttachmentTypeDocumentSources: AttachmentType;
328
- type AttachmentTypeTS = "document" | "document_analysis" | "image" | "audio" | "video" | "location" | "references" | "subsections" | "articles" | "records" | "actions" | "bullets" | "sticker" | "data" | "kgNodes" | "document_sources";
353
+ declare const AttachmentTypeSpreadsheet: AttachmentType;
354
+ declare const AttachmentTypeDataFile: AttachmentType;
355
+ type AttachmentTypeTS = "document" | "document_analysis" | "image" | "audio" | "video" | "location" | "references" | "subsections" | "articles" | "records" | "actions" | "bullets" | "sticker" | "data" | "kgNodes" | "document_sources" | "spreadsheet" | "data_file";
329
356
  /**
330
357
  * DocumentSource represents an aggregated document source with page references
331
358
  * Used to display source cards in chat responses after document search
@@ -355,6 +382,11 @@ interface Attachment {
355
382
  kgNodes?: KGNode[];
356
383
  actions?: Action[];
357
384
  documentSources?: DocumentSource[];
385
+ /**
386
+ * Smart document processing fields
387
+ */
388
+ fileMetadata?: any;
389
+ processing?: any;
358
390
  }
359
391
  interface Action {
360
392
  id: string;
@@ -690,6 +722,44 @@ interface TriggerAnalyticsScanResponse {
690
722
  metadata: ResponseMetadata;
691
723
  chats_archived: number;
692
724
  }
725
+ /**
726
+ * AttachmentProcessingStartedData is sent when attachment processing begins
727
+ */
728
+ interface AttachmentProcessingStartedData {
729
+ attachmentId: string;
730
+ fileName: string;
731
+ strategy: string;
732
+ }
733
+ /**
734
+ * AttachmentProcessingProgressData is sent during attachment processing
735
+ */
736
+ interface AttachmentProcessingProgressData {
737
+ attachmentId: string;
738
+ percent: number;
739
+ stage: string;
740
+ message: string;
741
+ }
742
+ /**
743
+ * AttachmentProcessingCompleteData is sent when attachment processing completes
744
+ */
745
+ interface AttachmentProcessingCompleteData {
746
+ attachmentId: string;
747
+ result?: any;
748
+ }
749
+ /**
750
+ * AttachmentProcessingErrorData is sent when attachment processing fails
751
+ */
752
+ interface AttachmentProcessingErrorData {
753
+ attachmentId: string;
754
+ error: string;
755
+ retryable: boolean;
756
+ }
757
+ /**
758
+ * RetryAttachmentData is sent by frontend to retry a failed attachment
759
+ */
760
+ interface RetryAttachmentData {
761
+ attachmentId: string;
762
+ }
693
763
  /**
694
764
  * Active chat requests/responses
695
765
  */
@@ -942,4 +1012,4 @@ declare const TriggerAnalyticsScanSubject = "chat.analytics.trigger-scan";
942
1012
  */
943
1013
  declare const SetupOrgSubject = "chat.org.setup";
944
1014
 
945
- export { type Action, type AgentQueue, type AgentSession, type AgentStatus, AgentStatusAway, AgentStatusBusy, AgentStatusOffline, AgentStatusOnline, type AgentStatusTS, type AssignChatToAgentRequest, type AssignChatToAgentResponse, AssignChatToAgentSubject, type Attachment, type AttachmentFile, type AttachmentType, AttachmentTypeActions, AttachmentTypeArticles, AttachmentTypeAudio, AttachmentTypeBullets, AttachmentTypeData, AttachmentTypeDocument, AttachmentTypeDocumentAnalysis, AttachmentTypeDocumentSources, AttachmentTypeImage, AttachmentTypeKGNodes, AttachmentTypeLocation, AttachmentTypeRecords, AttachmentTypeReferences, AttachmentTypeSticker, AttachmentTypeSubsections, type AttachmentTypeTS, AttachmentTypeVideo, type Chat, type ChatArchivalRequest, type ChatArchivalResponse, ChatArchiveSubjectPattern, type ChatContext, type ChatEvent, type ChatEventType, ChatEventTypeAgentActivityPing, ChatEventTypeAgentChatAssigned, ChatEventTypeAgentChatCompleted, ChatEventTypeAgentContextUpdate, ChatEventTypeAgentExecutionEnded, ChatEventTypeAgentExecutionStarted, ChatEventTypeAgentSessionEnd, ChatEventTypeAgentSessionStart, ChatEventTypeAgentStatusChange, ChatEventTypeBlockUser, ChatEventTypeCSATRequest, ChatEventTypeCSATResponse, ChatEventTypeCSATSurvey, ChatEventTypeChatEnded, ChatEventTypeChatRemoved, ChatEventTypeChatUpdated, ChatEventTypeClientAction, ChatEventTypeClientActionCallback, ChatEventTypeCreateRoom, ChatEventTypeDeleteRoom, ChatEventTypeDelivered, ChatEventTypeEndChat, ChatEventTypeError, ChatEventTypeGetAgents, ChatEventTypeGetAgentsResponse, ChatEventTypeGetOnlineUsers, ChatEventTypeHumanAgentJoined, ChatEventTypeHumanAgentLeft, ChatEventTypeInviteUser, ChatEventTypeJoinRoom, ChatEventTypeLeaveRoom, ChatEventTypeListChats, ChatEventTypeListRooms, ChatEventTypeLoadAgentContext, ChatEventTypeLoadAgentContextResponse, ChatEventTypeLoadChat, ChatEventTypeLoadChatResponse, ChatEventTypeMentionUser, ChatEventTypeMessage, ChatEventTypeMessageDeleted, ChatEventTypeMessageDeletedResponse, ChatEventTypeMessageEdited, ChatEventTypeMessageEditedResponse, ChatEventTypeMessageReaction, ChatEventTypeMessageReactionResponse, ChatEventTypeMessageReply, ChatEventTypeMessageStatusUpdate, ChatEventTypeNewChat, ChatEventTypeNewChatCreated, ChatEventTypeObserverJoined, ChatEventTypeObserverLeft, ChatEventTypeOnlineUsersResponse, ChatEventTypePing, ChatEventTypePlanApproved, ChatEventTypePlanCompleted, ChatEventTypePlanPendingApproval, ChatEventTypePlanRejected, ChatEventTypePong, ChatEventTypeRead, ChatEventTypeReconnected, ChatEventTypeRoomCreated, ChatEventTypeRoomDeleted, ChatEventTypeRoomUpdated, ChatEventTypeRoomUserJoined, ChatEventTypeRoomUserLeft, ChatEventTypeRoomsResponse, ChatEventTypeSkillActivate, ChatEventTypeSkillDeactivate, ChatEventTypeSkillsChanged, ChatEventTypeStepCompleted, ChatEventTypeStepFailed, ChatEventTypeStepStarted, ChatEventTypeStoppedTyping, ChatEventTypeSummaryUpdate, ChatEventTypeSyncMetadata, ChatEventTypeSyncMetadataResponse, ChatEventTypeSyncUserSession, ChatEventTypeSyncUserSessionResponse, type ChatEventTypeTS, ChatEventTypeTyping, ChatEventTypeUpdateRoom, ChatEventTypeUserActivity, ChatEventTypeUserActivityUpdate, ChatEventTypeUserInvited, ChatEventTypeUserJoined, ChatEventTypeUserLeft, ChatEventTypeUserPresenceChanged, ChatEventTypeUserPresenceEnd, ChatEventTypeUserPresenceStart, ChatEventTypeUserRemoved, ChatEventTypeUserStatusChange, ChatEventTypeUserSuggestedActionSelected, ChatEventTypeUserSuggestedActions, ChatEventTypeWaiting, ChatEventTypeWaitingForAgent, type ChatFlow, type ChatGrading, type ChatMessage, type ChatProductReference, type ChatQueueInfo, type ChatRateLimits, type ChatRole, ChatRoleAI, ChatRoleDataQuery, ChatRoleEvent, ChatRoleHumanAgent, ChatRoleObserver, ChatRoleSystem, type ChatRoleTS, ChatRoleTool, ChatRoleUser, type ChatSession, type ChatSessionPreferences, type ChatSessionStatus, ChatSessionStatusActive, ChatSessionStatusExpired, ChatSessionStatusIdle, type ChatStatus, ChatStatusAbandoned, ChatStatusActive, ChatStatusArchived, ChatStatusClosed, ChatStatusDisconnected, type ChatStatusTS, type ChatSummary, type ChatTool, type ChatType, ChatTypeCustomerSupport, ChatTypeDirect, ChatTypeGroup, ChatTypePrivateRoom, ChatTypePublicRoom, type ChatTypeTS, type ChatUser, type CompleteChatByAgentRequest, type CompleteChatByAgentResponse, CompleteChatByAgentSubject, type CreateAgentQueueRequest, type CreateAgentQueueResponse, CreateAgentQueueSubject, type DeleteAgentQueueRequest, type DeleteAgentQueueResponse, DeleteAgentQueueSubject, type DocumentSource, type EmojiReaction, type EndAgentSessionRequest, type EndAgentSessionResponse, EndAgentSessionSubject, type GetActiveChatCountRequest, type GetActiveChatCountResponse, GetActiveChatCountSubject, type GetActiveChatsRequest, type GetActiveChatsResponse, GetActiveChatsSubject, type GetAgentQueuesFilter, type GetAgentQueuesRequest, type GetAgentQueuesResponse, GetAgentQueuesSubject, type GetAgentSessionRequest, type GetAgentSessionResponse, GetAgentSessionSubject, type GetChatRequest, type GetChatResponse, GetChatSubject, type GetDailyChatCountRequest, type GetDailyChatCountResponse, GetDailyChatCountSubject, type GetOnlineAgentCountRequest, type GetOnlineAgentCountResponse, GetOnlineAgentCountSubject, type GetOnlineAgentsRequest, type GetOnlineAgentsResponse, GetOnlineAgentsSubject, type GetOnlineUsersRequest, type GetOnlineUsersResponse, GetOnlineUsersSubject, type GetQueueChatCountRequest, type GetQueueChatCountResponse, GetQueueChatCountSubject, type GetQueueChatsRequest, type GetQueueChatsResponse, GetQueueChatsSubject, type GetUserChatsRequest, type GetUserChatsResponse, GetUserChatsSubject, type GetWaitingForAgentChatCountRequest, type GetWaitingForAgentChatCountResponse, GetWaitingForAgentChatCountSubject, type GetWaitingForAgentChatsRequest, type GetWaitingForAgentChatsResponse, GetWaitingForAgentChatsSubject, type LLMConfig, type LLMFunction, type LLMMemoryConfig, type LLMResponse, type LLMTool, type LLMUsage, type Location, type MessageStatus, MessageStatusDelivered, MessageStatusFailed, MessageStatusRead, MessageStatusSending, MessageStatusSent, type MessageStatusTS, type QueueType, QueueTypeComplexity, QueueTypeDepartment, type QueueTypeOptionTS, QueueTypePriority, QueueTypeSkill, type QueueTypeTS, QueueTypes, SetupOrgSubject, type StartAgentSessionRequest, type StartAgentSessionResponse, StartAgentSessionSubject, type ToolCall, type TriggerAnalyticsScanRequest, type TriggerAnalyticsScanResponse, TriggerAnalyticsScanSubject, type UpdateAgentLastActivityRequest, type UpdateAgentLastActivityResponse, UpdateAgentLastActivitySubject, type UpdateAgentQueueRequest, type UpdateAgentQueueResponse, UpdateAgentQueueSubject, type UpdateAgentStatusRequest, type UpdateAgentStatusResponse, UpdateAgentStatusSubject, type UpdateUserStatusRequest, type UpdateUserStatusResponse, UpdateUserStatusSubject, type UserSession, type UserStatus, UserStatusAway, UserStatusBusy, UserStatusOffline, UserStatusOnline, type UserStatusTS };
1015
+ export { type Action, type AgentQueue, type AgentSession, type AgentStatus, AgentStatusAway, AgentStatusBusy, AgentStatusOffline, AgentStatusOnline, type AgentStatusTS, type AssignChatToAgentRequest, type AssignChatToAgentResponse, AssignChatToAgentSubject, type Attachment, type AttachmentFile, type AttachmentProcessingCompleteData, type AttachmentProcessingErrorData, type AttachmentProcessingProgressData, type AttachmentProcessingStartedData, type AttachmentType, AttachmentTypeActions, AttachmentTypeArticles, AttachmentTypeAudio, AttachmentTypeBullets, AttachmentTypeData, AttachmentTypeDataFile, AttachmentTypeDocument, AttachmentTypeDocumentAnalysis, AttachmentTypeDocumentSources, AttachmentTypeImage, AttachmentTypeKGNodes, AttachmentTypeLocation, AttachmentTypeRecords, AttachmentTypeReferences, AttachmentTypeSpreadsheet, AttachmentTypeSticker, AttachmentTypeSubsections, type AttachmentTypeTS, AttachmentTypeVideo, type Chat, type ChatArchivalRequest, type ChatArchivalResponse, ChatArchiveSubjectPattern, type ChatContext, type ChatEvent, type ChatEventType, ChatEventTypeAgentActivityPing, ChatEventTypeAgentChatAssigned, ChatEventTypeAgentChatCompleted, ChatEventTypeAgentContextUpdate, ChatEventTypeAgentExecutionEnded, ChatEventTypeAgentExecutionStarted, ChatEventTypeAgentSessionEnd, ChatEventTypeAgentSessionStart, ChatEventTypeAgentStatusChange, ChatEventTypeAttachmentProcessingComplete, ChatEventTypeAttachmentProcessingError, ChatEventTypeAttachmentProcessingProgress, ChatEventTypeAttachmentProcessingStarted, ChatEventTypeBlockUser, ChatEventTypeCSATRequest, ChatEventTypeCSATResponse, ChatEventTypeCSATSurvey, ChatEventTypeChatEnded, ChatEventTypeChatRemoved, ChatEventTypeChatUpdated, ChatEventTypeClientAction, ChatEventTypeClientActionCallback, ChatEventTypeCreateRoom, ChatEventTypeDeleteRoom, ChatEventTypeDelivered, ChatEventTypeEndChat, ChatEventTypeError, ChatEventTypeGetAgents, ChatEventTypeGetAgentsResponse, ChatEventTypeGetOnlineUsers, ChatEventTypeHumanAgentJoined, ChatEventTypeHumanAgentLeft, ChatEventTypeInviteUser, ChatEventTypeJoinRoom, ChatEventTypeLeaveRoom, ChatEventTypeListChats, ChatEventTypeListRooms, ChatEventTypeLoadAgentContext, ChatEventTypeLoadAgentContextResponse, ChatEventTypeLoadChat, ChatEventTypeLoadChatResponse, ChatEventTypeMentionUser, ChatEventTypeMessage, ChatEventTypeMessageDeleted, ChatEventTypeMessageDeletedResponse, ChatEventTypeMessageEdited, ChatEventTypeMessageEditedResponse, ChatEventTypeMessageReaction, ChatEventTypeMessageReactionResponse, ChatEventTypeMessageReply, ChatEventTypeMessageStatusUpdate, ChatEventTypeNewChat, ChatEventTypeNewChatCreated, ChatEventTypeObserverJoined, ChatEventTypeObserverLeft, ChatEventTypeOnlineUsersResponse, ChatEventTypePing, ChatEventTypePlanApproved, ChatEventTypePlanCompleted, ChatEventTypePlanPendingApproval, ChatEventTypePlanRejected, ChatEventTypePong, ChatEventTypeRead, ChatEventTypeReconnected, ChatEventTypeRetryAttachment, ChatEventTypeRoomCreated, ChatEventTypeRoomDeleted, ChatEventTypeRoomUpdated, ChatEventTypeRoomUserJoined, ChatEventTypeRoomUserLeft, ChatEventTypeRoomsResponse, ChatEventTypeSkillActivate, ChatEventTypeSkillDeactivate, ChatEventTypeSkillsChanged, ChatEventTypeStepCompleted, ChatEventTypeStepFailed, ChatEventTypeStepStarted, ChatEventTypeStoppedTyping, ChatEventTypeSummaryUpdate, ChatEventTypeSyncMetadata, ChatEventTypeSyncMetadataResponse, ChatEventTypeSyncUserSession, ChatEventTypeSyncUserSessionResponse, type ChatEventTypeTS, ChatEventTypeTyping, ChatEventTypeUpdateRoom, ChatEventTypeUserActivity, ChatEventTypeUserActivityUpdate, ChatEventTypeUserInvited, ChatEventTypeUserJoined, ChatEventTypeUserLeft, ChatEventTypeUserPresenceChanged, ChatEventTypeUserPresenceEnd, ChatEventTypeUserPresenceStart, ChatEventTypeUserRemoved, ChatEventTypeUserStatusChange, ChatEventTypeUserSuggestedActionSelected, ChatEventTypeUserSuggestedActions, ChatEventTypeWaiting, ChatEventTypeWaitingForAgent, type ChatFlow, type ChatGrading, type ChatMessage, type ChatProductReference, type ChatQueueInfo, type ChatRateLimits, type ChatRole, ChatRoleAI, ChatRoleDataQuery, ChatRoleEvent, ChatRoleHumanAgent, ChatRoleObserver, ChatRoleSystem, type ChatRoleTS, ChatRoleTool, ChatRoleUser, type ChatSession, type ChatSessionPreferences, type ChatSessionStatus, ChatSessionStatusActive, ChatSessionStatusExpired, ChatSessionStatusIdle, type ChatStatus, ChatStatusAbandoned, ChatStatusActive, ChatStatusArchived, ChatStatusClosed, ChatStatusDisconnected, type ChatStatusTS, type ChatSummary, type ChatTool, type ChatType, ChatTypeCustomerSupport, ChatTypeDirect, ChatTypeGroup, ChatTypePrivateRoom, ChatTypePublicRoom, type ChatTypeTS, type ChatUser, type CompleteChatByAgentRequest, type CompleteChatByAgentResponse, CompleteChatByAgentSubject, type CreateAgentQueueRequest, type CreateAgentQueueResponse, CreateAgentQueueSubject, type DeleteAgentQueueRequest, type DeleteAgentQueueResponse, DeleteAgentQueueSubject, type DocumentAnalysisResult, type DocumentSource, type EmojiReaction, type EndAgentSessionRequest, type EndAgentSessionResponse, EndAgentSessionSubject, type GetActiveChatCountRequest, type GetActiveChatCountResponse, GetActiveChatCountSubject, type GetActiveChatsRequest, type GetActiveChatsResponse, GetActiveChatsSubject, type GetAgentQueuesFilter, type GetAgentQueuesRequest, type GetAgentQueuesResponse, GetAgentQueuesSubject, type GetAgentSessionRequest, type GetAgentSessionResponse, GetAgentSessionSubject, type GetChatRequest, type GetChatResponse, GetChatSubject, type GetDailyChatCountRequest, type GetDailyChatCountResponse, GetDailyChatCountSubject, type GetOnlineAgentCountRequest, type GetOnlineAgentCountResponse, GetOnlineAgentCountSubject, type GetOnlineAgentsRequest, type GetOnlineAgentsResponse, GetOnlineAgentsSubject, type GetOnlineUsersRequest, type GetOnlineUsersResponse, GetOnlineUsersSubject, type GetQueueChatCountRequest, type GetQueueChatCountResponse, GetQueueChatCountSubject, type GetQueueChatsRequest, type GetQueueChatsResponse, GetQueueChatsSubject, type GetUserChatsRequest, type GetUserChatsResponse, GetUserChatsSubject, type GetWaitingForAgentChatCountRequest, type GetWaitingForAgentChatCountResponse, GetWaitingForAgentChatCountSubject, type GetWaitingForAgentChatsRequest, type GetWaitingForAgentChatsResponse, GetWaitingForAgentChatsSubject, type KGNode, type LLMConfig, type LLMFunction, type LLMMemoryConfig, type LLMResponse, type LLMTool, type LLMUsage, type Location, type MessageStatus, MessageStatusDelivered, MessageStatusFailed, MessageStatusRead, MessageStatusSending, MessageStatusSent, type MessageStatusTS, type QueueType, QueueTypeComplexity, QueueTypeDepartment, type QueueTypeOptionTS, QueueTypePriority, QueueTypeSkill, type QueueTypeTS, QueueTypes, type RetryAttachmentData, SetupOrgSubject, type StartAgentSessionRequest, type StartAgentSessionResponse, StartAgentSessionSubject, type ToolCall, type TriggerAnalyticsScanRequest, type TriggerAnalyticsScanResponse, TriggerAnalyticsScanSubject, type UpdateAgentLastActivityRequest, type UpdateAgentLastActivityResponse, UpdateAgentLastActivitySubject, type UpdateAgentQueueRequest, type UpdateAgentQueueResponse, UpdateAgentQueueSubject, type UpdateAgentStatusRequest, type UpdateAgentStatusResponse, UpdateAgentStatusSubject, type UpdateUserStatusRequest, type UpdateUserStatusResponse, UpdateUserStatusSubject, type UserSession, type UserStatus, UserStatusAway, UserStatusBusy, UserStatusOffline, UserStatusOnline, type UserStatusTS };
@@ -1,7 +1,24 @@
1
- import { KGNode } from '@elqnt/kg';
2
- import { Variable, ResponseMetadata } from '@elqnt/types';
3
- import { DocumentAnalysisResult } from '@elqnt/docs';
1
+ import { ResponseMetadata, Variable } from '@elqnt/types';
4
2
 
3
+ /**
4
+ * Generic placeholder for KGNode when @elqnt/kg is not available.
5
+ * Import from @elqnt/kg for full type support.
6
+ */
7
+ type KGNode = {
8
+ id: string;
9
+ type: string;
10
+ properties?: Record<string, unknown>;
11
+ [key: string]: unknown;
12
+ };
13
+ /**
14
+ * Generic placeholder for DocumentAnalysisResult when @elqnt/docs is not available.
15
+ * Import from @elqnt/docs for full type support.
16
+ */
17
+ type DocumentAnalysisResult = {
18
+ pages?: unknown[];
19
+ content?: string;
20
+ [key: string]: unknown;
21
+ };
5
22
  type ChatStatusTS = 'active' | 'disconnected' | 'abandoned' | 'closed' | 'archived';
6
23
  type ChatStatus = string;
7
24
  declare const ChatStatusActive: ChatStatus;
@@ -271,7 +288,15 @@ declare const ChatEventTypePong: ChatEventType;
271
288
  declare const ChatEventTypeSkillActivate: ChatEventType;
272
289
  declare const ChatEventTypeSkillDeactivate: ChatEventType;
273
290
  declare const ChatEventTypeSkillsChanged: ChatEventType;
274
- type ChatEventTypeTS = "message" | "user_joined" | "user_left" | "typing" | "stopped_typing" | "read" | "delivered" | "reconnected" | "error" | "message_status_update" | "load_chat" | "load_chat_response" | "waiting" | "waiting_for_agent" | "human_agent_joined" | "end_chat" | "chat_ended" | "human_agent_left" | "observer_joined" | "observer_left" | "list_chats" | "chat_updated" | "chat_removed" | "sync_metadata" | "sync_metadata_response" | "sync_user_session" | "sync_user_session_response" | "agent_session_start" | "agent_session_end" | "agent_status_change" | "agent_activity_ping" | "agent_chat_assigned" | "agent_chat_completed" | "client_action" | "client_action_callback" | "show_csat_survey" | "csat_response" | "user_suggested_actions" | "user_suggested_action_selected" | "summary_update" | "agent_context_update" | "agent_execution_started" | "agent_execution_ended" | "load_agent_context" | "load_agent_context_response" | "plan_pending_approval" | "plan_approved" | "plan_rejected" | "plan_completed" | "step_started" | "step_completed" | "step_failed" | "new_chat" | "new_chat_created" | "block_user" | "ping" | "pong" | "create_room" | "room_created" | "join_room" | "leave_room" | "delete_room" | "room_deleted" | "update_room" | "room_updated" | "invite_user" | "user_invited" | "room_user_joined" | "room_user_left" | "user_removed" | "list_rooms" | "rooms_response" | "message_edited" | "message_deleted" | "message_reaction" | "message_reply" | "mention_user" | "message_edited_response" | "message_deleted_response" | "message_reaction_response" | "user_presence_start" | "user_presence_end" | "user_status_change" | "user_activity" | "user_presence_changed" | "user_activity_update" | "get_online_users" | "online_users" | "get_agents" | "get_agents_response" | "skill_activate" | "skill_deactivate" | "skills_changed";
291
+ /**
292
+ * ** Attachment processing events (deferred document processing)
293
+ */
294
+ declare const ChatEventTypeAttachmentProcessingStarted: ChatEventType;
295
+ declare const ChatEventTypeAttachmentProcessingProgress: ChatEventType;
296
+ declare const ChatEventTypeAttachmentProcessingComplete: ChatEventType;
297
+ declare const ChatEventTypeAttachmentProcessingError: ChatEventType;
298
+ declare const ChatEventTypeRetryAttachment: ChatEventType;
299
+ type ChatEventTypeTS = "message" | "user_joined" | "user_left" | "typing" | "stopped_typing" | "read" | "delivered" | "reconnected" | "error" | "message_status_update" | "load_chat" | "load_chat_response" | "waiting" | "waiting_for_agent" | "human_agent_joined" | "end_chat" | "chat_ended" | "human_agent_left" | "observer_joined" | "observer_left" | "list_chats" | "chat_updated" | "chat_removed" | "sync_metadata" | "sync_metadata_response" | "sync_user_session" | "sync_user_session_response" | "agent_session_start" | "agent_session_end" | "agent_status_change" | "agent_activity_ping" | "agent_chat_assigned" | "agent_chat_completed" | "client_action" | "client_action_callback" | "show_csat_survey" | "csat_response" | "user_suggested_actions" | "user_suggested_action_selected" | "summary_update" | "agent_context_update" | "agent_execution_started" | "agent_execution_ended" | "load_agent_context" | "load_agent_context_response" | "plan_pending_approval" | "plan_approved" | "plan_rejected" | "plan_completed" | "step_started" | "step_completed" | "step_failed" | "new_chat" | "new_chat_created" | "block_user" | "ping" | "pong" | "create_room" | "room_created" | "join_room" | "leave_room" | "delete_room" | "room_deleted" | "update_room" | "room_updated" | "invite_user" | "user_invited" | "room_user_joined" | "room_user_left" | "user_removed" | "list_rooms" | "rooms_response" | "message_edited" | "message_deleted" | "message_reaction" | "message_reply" | "mention_user" | "message_edited_response" | "message_deleted_response" | "message_reaction_response" | "user_presence_start" | "user_presence_end" | "user_status_change" | "user_activity" | "user_presence_changed" | "user_activity_update" | "get_online_users" | "online_users" | "get_agents" | "get_agents_response" | "skill_activate" | "skill_deactivate" | "skills_changed" | "attachment_processing_started" | "attachment_processing_progress" | "attachment_processing_complete" | "attachment_processing_error" | "retry_attachment";
275
300
  type MessageStatus = string;
276
301
  declare const MessageStatusSending: MessageStatus;
277
302
  declare const MessageStatusSent: MessageStatus;
@@ -325,7 +350,9 @@ declare const AttachmentTypeSticker: AttachmentType;
325
350
  declare const AttachmentTypeData: AttachmentType;
326
351
  declare const AttachmentTypeKGNodes: AttachmentType;
327
352
  declare const AttachmentTypeDocumentSources: AttachmentType;
328
- type AttachmentTypeTS = "document" | "document_analysis" | "image" | "audio" | "video" | "location" | "references" | "subsections" | "articles" | "records" | "actions" | "bullets" | "sticker" | "data" | "kgNodes" | "document_sources";
353
+ declare const AttachmentTypeSpreadsheet: AttachmentType;
354
+ declare const AttachmentTypeDataFile: AttachmentType;
355
+ type AttachmentTypeTS = "document" | "document_analysis" | "image" | "audio" | "video" | "location" | "references" | "subsections" | "articles" | "records" | "actions" | "bullets" | "sticker" | "data" | "kgNodes" | "document_sources" | "spreadsheet" | "data_file";
329
356
  /**
330
357
  * DocumentSource represents an aggregated document source with page references
331
358
  * Used to display source cards in chat responses after document search
@@ -355,6 +382,11 @@ interface Attachment {
355
382
  kgNodes?: KGNode[];
356
383
  actions?: Action[];
357
384
  documentSources?: DocumentSource[];
385
+ /**
386
+ * Smart document processing fields
387
+ */
388
+ fileMetadata?: any;
389
+ processing?: any;
358
390
  }
359
391
  interface Action {
360
392
  id: string;
@@ -690,6 +722,44 @@ interface TriggerAnalyticsScanResponse {
690
722
  metadata: ResponseMetadata;
691
723
  chats_archived: number;
692
724
  }
725
+ /**
726
+ * AttachmentProcessingStartedData is sent when attachment processing begins
727
+ */
728
+ interface AttachmentProcessingStartedData {
729
+ attachmentId: string;
730
+ fileName: string;
731
+ strategy: string;
732
+ }
733
+ /**
734
+ * AttachmentProcessingProgressData is sent during attachment processing
735
+ */
736
+ interface AttachmentProcessingProgressData {
737
+ attachmentId: string;
738
+ percent: number;
739
+ stage: string;
740
+ message: string;
741
+ }
742
+ /**
743
+ * AttachmentProcessingCompleteData is sent when attachment processing completes
744
+ */
745
+ interface AttachmentProcessingCompleteData {
746
+ attachmentId: string;
747
+ result?: any;
748
+ }
749
+ /**
750
+ * AttachmentProcessingErrorData is sent when attachment processing fails
751
+ */
752
+ interface AttachmentProcessingErrorData {
753
+ attachmentId: string;
754
+ error: string;
755
+ retryable: boolean;
756
+ }
757
+ /**
758
+ * RetryAttachmentData is sent by frontend to retry a failed attachment
759
+ */
760
+ interface RetryAttachmentData {
761
+ attachmentId: string;
762
+ }
693
763
  /**
694
764
  * Active chat requests/responses
695
765
  */
@@ -942,4 +1012,4 @@ declare const TriggerAnalyticsScanSubject = "chat.analytics.trigger-scan";
942
1012
  */
943
1013
  declare const SetupOrgSubject = "chat.org.setup";
944
1014
 
945
- export { type Action, type AgentQueue, type AgentSession, type AgentStatus, AgentStatusAway, AgentStatusBusy, AgentStatusOffline, AgentStatusOnline, type AgentStatusTS, type AssignChatToAgentRequest, type AssignChatToAgentResponse, AssignChatToAgentSubject, type Attachment, type AttachmentFile, type AttachmentType, AttachmentTypeActions, AttachmentTypeArticles, AttachmentTypeAudio, AttachmentTypeBullets, AttachmentTypeData, AttachmentTypeDocument, AttachmentTypeDocumentAnalysis, AttachmentTypeDocumentSources, AttachmentTypeImage, AttachmentTypeKGNodes, AttachmentTypeLocation, AttachmentTypeRecords, AttachmentTypeReferences, AttachmentTypeSticker, AttachmentTypeSubsections, type AttachmentTypeTS, AttachmentTypeVideo, type Chat, type ChatArchivalRequest, type ChatArchivalResponse, ChatArchiveSubjectPattern, type ChatContext, type ChatEvent, type ChatEventType, ChatEventTypeAgentActivityPing, ChatEventTypeAgentChatAssigned, ChatEventTypeAgentChatCompleted, ChatEventTypeAgentContextUpdate, ChatEventTypeAgentExecutionEnded, ChatEventTypeAgentExecutionStarted, ChatEventTypeAgentSessionEnd, ChatEventTypeAgentSessionStart, ChatEventTypeAgentStatusChange, ChatEventTypeBlockUser, ChatEventTypeCSATRequest, ChatEventTypeCSATResponse, ChatEventTypeCSATSurvey, ChatEventTypeChatEnded, ChatEventTypeChatRemoved, ChatEventTypeChatUpdated, ChatEventTypeClientAction, ChatEventTypeClientActionCallback, ChatEventTypeCreateRoom, ChatEventTypeDeleteRoom, ChatEventTypeDelivered, ChatEventTypeEndChat, ChatEventTypeError, ChatEventTypeGetAgents, ChatEventTypeGetAgentsResponse, ChatEventTypeGetOnlineUsers, ChatEventTypeHumanAgentJoined, ChatEventTypeHumanAgentLeft, ChatEventTypeInviteUser, ChatEventTypeJoinRoom, ChatEventTypeLeaveRoom, ChatEventTypeListChats, ChatEventTypeListRooms, ChatEventTypeLoadAgentContext, ChatEventTypeLoadAgentContextResponse, ChatEventTypeLoadChat, ChatEventTypeLoadChatResponse, ChatEventTypeMentionUser, ChatEventTypeMessage, ChatEventTypeMessageDeleted, ChatEventTypeMessageDeletedResponse, ChatEventTypeMessageEdited, ChatEventTypeMessageEditedResponse, ChatEventTypeMessageReaction, ChatEventTypeMessageReactionResponse, ChatEventTypeMessageReply, ChatEventTypeMessageStatusUpdate, ChatEventTypeNewChat, ChatEventTypeNewChatCreated, ChatEventTypeObserverJoined, ChatEventTypeObserverLeft, ChatEventTypeOnlineUsersResponse, ChatEventTypePing, ChatEventTypePlanApproved, ChatEventTypePlanCompleted, ChatEventTypePlanPendingApproval, ChatEventTypePlanRejected, ChatEventTypePong, ChatEventTypeRead, ChatEventTypeReconnected, ChatEventTypeRoomCreated, ChatEventTypeRoomDeleted, ChatEventTypeRoomUpdated, ChatEventTypeRoomUserJoined, ChatEventTypeRoomUserLeft, ChatEventTypeRoomsResponse, ChatEventTypeSkillActivate, ChatEventTypeSkillDeactivate, ChatEventTypeSkillsChanged, ChatEventTypeStepCompleted, ChatEventTypeStepFailed, ChatEventTypeStepStarted, ChatEventTypeStoppedTyping, ChatEventTypeSummaryUpdate, ChatEventTypeSyncMetadata, ChatEventTypeSyncMetadataResponse, ChatEventTypeSyncUserSession, ChatEventTypeSyncUserSessionResponse, type ChatEventTypeTS, ChatEventTypeTyping, ChatEventTypeUpdateRoom, ChatEventTypeUserActivity, ChatEventTypeUserActivityUpdate, ChatEventTypeUserInvited, ChatEventTypeUserJoined, ChatEventTypeUserLeft, ChatEventTypeUserPresenceChanged, ChatEventTypeUserPresenceEnd, ChatEventTypeUserPresenceStart, ChatEventTypeUserRemoved, ChatEventTypeUserStatusChange, ChatEventTypeUserSuggestedActionSelected, ChatEventTypeUserSuggestedActions, ChatEventTypeWaiting, ChatEventTypeWaitingForAgent, type ChatFlow, type ChatGrading, type ChatMessage, type ChatProductReference, type ChatQueueInfo, type ChatRateLimits, type ChatRole, ChatRoleAI, ChatRoleDataQuery, ChatRoleEvent, ChatRoleHumanAgent, ChatRoleObserver, ChatRoleSystem, type ChatRoleTS, ChatRoleTool, ChatRoleUser, type ChatSession, type ChatSessionPreferences, type ChatSessionStatus, ChatSessionStatusActive, ChatSessionStatusExpired, ChatSessionStatusIdle, type ChatStatus, ChatStatusAbandoned, ChatStatusActive, ChatStatusArchived, ChatStatusClosed, ChatStatusDisconnected, type ChatStatusTS, type ChatSummary, type ChatTool, type ChatType, ChatTypeCustomerSupport, ChatTypeDirect, ChatTypeGroup, ChatTypePrivateRoom, ChatTypePublicRoom, type ChatTypeTS, type ChatUser, type CompleteChatByAgentRequest, type CompleteChatByAgentResponse, CompleteChatByAgentSubject, type CreateAgentQueueRequest, type CreateAgentQueueResponse, CreateAgentQueueSubject, type DeleteAgentQueueRequest, type DeleteAgentQueueResponse, DeleteAgentQueueSubject, type DocumentSource, type EmojiReaction, type EndAgentSessionRequest, type EndAgentSessionResponse, EndAgentSessionSubject, type GetActiveChatCountRequest, type GetActiveChatCountResponse, GetActiveChatCountSubject, type GetActiveChatsRequest, type GetActiveChatsResponse, GetActiveChatsSubject, type GetAgentQueuesFilter, type GetAgentQueuesRequest, type GetAgentQueuesResponse, GetAgentQueuesSubject, type GetAgentSessionRequest, type GetAgentSessionResponse, GetAgentSessionSubject, type GetChatRequest, type GetChatResponse, GetChatSubject, type GetDailyChatCountRequest, type GetDailyChatCountResponse, GetDailyChatCountSubject, type GetOnlineAgentCountRequest, type GetOnlineAgentCountResponse, GetOnlineAgentCountSubject, type GetOnlineAgentsRequest, type GetOnlineAgentsResponse, GetOnlineAgentsSubject, type GetOnlineUsersRequest, type GetOnlineUsersResponse, GetOnlineUsersSubject, type GetQueueChatCountRequest, type GetQueueChatCountResponse, GetQueueChatCountSubject, type GetQueueChatsRequest, type GetQueueChatsResponse, GetQueueChatsSubject, type GetUserChatsRequest, type GetUserChatsResponse, GetUserChatsSubject, type GetWaitingForAgentChatCountRequest, type GetWaitingForAgentChatCountResponse, GetWaitingForAgentChatCountSubject, type GetWaitingForAgentChatsRequest, type GetWaitingForAgentChatsResponse, GetWaitingForAgentChatsSubject, type LLMConfig, type LLMFunction, type LLMMemoryConfig, type LLMResponse, type LLMTool, type LLMUsage, type Location, type MessageStatus, MessageStatusDelivered, MessageStatusFailed, MessageStatusRead, MessageStatusSending, MessageStatusSent, type MessageStatusTS, type QueueType, QueueTypeComplexity, QueueTypeDepartment, type QueueTypeOptionTS, QueueTypePriority, QueueTypeSkill, type QueueTypeTS, QueueTypes, SetupOrgSubject, type StartAgentSessionRequest, type StartAgentSessionResponse, StartAgentSessionSubject, type ToolCall, type TriggerAnalyticsScanRequest, type TriggerAnalyticsScanResponse, TriggerAnalyticsScanSubject, type UpdateAgentLastActivityRequest, type UpdateAgentLastActivityResponse, UpdateAgentLastActivitySubject, type UpdateAgentQueueRequest, type UpdateAgentQueueResponse, UpdateAgentQueueSubject, type UpdateAgentStatusRequest, type UpdateAgentStatusResponse, UpdateAgentStatusSubject, type UpdateUserStatusRequest, type UpdateUserStatusResponse, UpdateUserStatusSubject, type UserSession, type UserStatus, UserStatusAway, UserStatusBusy, UserStatusOffline, UserStatusOnline, type UserStatusTS };
1015
+ export { type Action, type AgentQueue, type AgentSession, type AgentStatus, AgentStatusAway, AgentStatusBusy, AgentStatusOffline, AgentStatusOnline, type AgentStatusTS, type AssignChatToAgentRequest, type AssignChatToAgentResponse, AssignChatToAgentSubject, type Attachment, type AttachmentFile, type AttachmentProcessingCompleteData, type AttachmentProcessingErrorData, type AttachmentProcessingProgressData, type AttachmentProcessingStartedData, type AttachmentType, AttachmentTypeActions, AttachmentTypeArticles, AttachmentTypeAudio, AttachmentTypeBullets, AttachmentTypeData, AttachmentTypeDataFile, AttachmentTypeDocument, AttachmentTypeDocumentAnalysis, AttachmentTypeDocumentSources, AttachmentTypeImage, AttachmentTypeKGNodes, AttachmentTypeLocation, AttachmentTypeRecords, AttachmentTypeReferences, AttachmentTypeSpreadsheet, AttachmentTypeSticker, AttachmentTypeSubsections, type AttachmentTypeTS, AttachmentTypeVideo, type Chat, type ChatArchivalRequest, type ChatArchivalResponse, ChatArchiveSubjectPattern, type ChatContext, type ChatEvent, type ChatEventType, ChatEventTypeAgentActivityPing, ChatEventTypeAgentChatAssigned, ChatEventTypeAgentChatCompleted, ChatEventTypeAgentContextUpdate, ChatEventTypeAgentExecutionEnded, ChatEventTypeAgentExecutionStarted, ChatEventTypeAgentSessionEnd, ChatEventTypeAgentSessionStart, ChatEventTypeAgentStatusChange, ChatEventTypeAttachmentProcessingComplete, ChatEventTypeAttachmentProcessingError, ChatEventTypeAttachmentProcessingProgress, ChatEventTypeAttachmentProcessingStarted, ChatEventTypeBlockUser, ChatEventTypeCSATRequest, ChatEventTypeCSATResponse, ChatEventTypeCSATSurvey, ChatEventTypeChatEnded, ChatEventTypeChatRemoved, ChatEventTypeChatUpdated, ChatEventTypeClientAction, ChatEventTypeClientActionCallback, ChatEventTypeCreateRoom, ChatEventTypeDeleteRoom, ChatEventTypeDelivered, ChatEventTypeEndChat, ChatEventTypeError, ChatEventTypeGetAgents, ChatEventTypeGetAgentsResponse, ChatEventTypeGetOnlineUsers, ChatEventTypeHumanAgentJoined, ChatEventTypeHumanAgentLeft, ChatEventTypeInviteUser, ChatEventTypeJoinRoom, ChatEventTypeLeaveRoom, ChatEventTypeListChats, ChatEventTypeListRooms, ChatEventTypeLoadAgentContext, ChatEventTypeLoadAgentContextResponse, ChatEventTypeLoadChat, ChatEventTypeLoadChatResponse, ChatEventTypeMentionUser, ChatEventTypeMessage, ChatEventTypeMessageDeleted, ChatEventTypeMessageDeletedResponse, ChatEventTypeMessageEdited, ChatEventTypeMessageEditedResponse, ChatEventTypeMessageReaction, ChatEventTypeMessageReactionResponse, ChatEventTypeMessageReply, ChatEventTypeMessageStatusUpdate, ChatEventTypeNewChat, ChatEventTypeNewChatCreated, ChatEventTypeObserverJoined, ChatEventTypeObserverLeft, ChatEventTypeOnlineUsersResponse, ChatEventTypePing, ChatEventTypePlanApproved, ChatEventTypePlanCompleted, ChatEventTypePlanPendingApproval, ChatEventTypePlanRejected, ChatEventTypePong, ChatEventTypeRead, ChatEventTypeReconnected, ChatEventTypeRetryAttachment, ChatEventTypeRoomCreated, ChatEventTypeRoomDeleted, ChatEventTypeRoomUpdated, ChatEventTypeRoomUserJoined, ChatEventTypeRoomUserLeft, ChatEventTypeRoomsResponse, ChatEventTypeSkillActivate, ChatEventTypeSkillDeactivate, ChatEventTypeSkillsChanged, ChatEventTypeStepCompleted, ChatEventTypeStepFailed, ChatEventTypeStepStarted, ChatEventTypeStoppedTyping, ChatEventTypeSummaryUpdate, ChatEventTypeSyncMetadata, ChatEventTypeSyncMetadataResponse, ChatEventTypeSyncUserSession, ChatEventTypeSyncUserSessionResponse, type ChatEventTypeTS, ChatEventTypeTyping, ChatEventTypeUpdateRoom, ChatEventTypeUserActivity, ChatEventTypeUserActivityUpdate, ChatEventTypeUserInvited, ChatEventTypeUserJoined, ChatEventTypeUserLeft, ChatEventTypeUserPresenceChanged, ChatEventTypeUserPresenceEnd, ChatEventTypeUserPresenceStart, ChatEventTypeUserRemoved, ChatEventTypeUserStatusChange, ChatEventTypeUserSuggestedActionSelected, ChatEventTypeUserSuggestedActions, ChatEventTypeWaiting, ChatEventTypeWaitingForAgent, type ChatFlow, type ChatGrading, type ChatMessage, type ChatProductReference, type ChatQueueInfo, type ChatRateLimits, type ChatRole, ChatRoleAI, ChatRoleDataQuery, ChatRoleEvent, ChatRoleHumanAgent, ChatRoleObserver, ChatRoleSystem, type ChatRoleTS, ChatRoleTool, ChatRoleUser, type ChatSession, type ChatSessionPreferences, type ChatSessionStatus, ChatSessionStatusActive, ChatSessionStatusExpired, ChatSessionStatusIdle, type ChatStatus, ChatStatusAbandoned, ChatStatusActive, ChatStatusArchived, ChatStatusClosed, ChatStatusDisconnected, type ChatStatusTS, type ChatSummary, type ChatTool, type ChatType, ChatTypeCustomerSupport, ChatTypeDirect, ChatTypeGroup, ChatTypePrivateRoom, ChatTypePublicRoom, type ChatTypeTS, type ChatUser, type CompleteChatByAgentRequest, type CompleteChatByAgentResponse, CompleteChatByAgentSubject, type CreateAgentQueueRequest, type CreateAgentQueueResponse, CreateAgentQueueSubject, type DeleteAgentQueueRequest, type DeleteAgentQueueResponse, DeleteAgentQueueSubject, type DocumentAnalysisResult, type DocumentSource, type EmojiReaction, type EndAgentSessionRequest, type EndAgentSessionResponse, EndAgentSessionSubject, type GetActiveChatCountRequest, type GetActiveChatCountResponse, GetActiveChatCountSubject, type GetActiveChatsRequest, type GetActiveChatsResponse, GetActiveChatsSubject, type GetAgentQueuesFilter, type GetAgentQueuesRequest, type GetAgentQueuesResponse, GetAgentQueuesSubject, type GetAgentSessionRequest, type GetAgentSessionResponse, GetAgentSessionSubject, type GetChatRequest, type GetChatResponse, GetChatSubject, type GetDailyChatCountRequest, type GetDailyChatCountResponse, GetDailyChatCountSubject, type GetOnlineAgentCountRequest, type GetOnlineAgentCountResponse, GetOnlineAgentCountSubject, type GetOnlineAgentsRequest, type GetOnlineAgentsResponse, GetOnlineAgentsSubject, type GetOnlineUsersRequest, type GetOnlineUsersResponse, GetOnlineUsersSubject, type GetQueueChatCountRequest, type GetQueueChatCountResponse, GetQueueChatCountSubject, type GetQueueChatsRequest, type GetQueueChatsResponse, GetQueueChatsSubject, type GetUserChatsRequest, type GetUserChatsResponse, GetUserChatsSubject, type GetWaitingForAgentChatCountRequest, type GetWaitingForAgentChatCountResponse, GetWaitingForAgentChatCountSubject, type GetWaitingForAgentChatsRequest, type GetWaitingForAgentChatsResponse, GetWaitingForAgentChatsSubject, type KGNode, type LLMConfig, type LLMFunction, type LLMMemoryConfig, type LLMResponse, type LLMTool, type LLMUsage, type Location, type MessageStatus, MessageStatusDelivered, MessageStatusFailed, MessageStatusRead, MessageStatusSending, MessageStatusSent, type MessageStatusTS, type QueueType, QueueTypeComplexity, QueueTypeDepartment, type QueueTypeOptionTS, QueueTypePriority, QueueTypeSkill, type QueueTypeTS, QueueTypes, type RetryAttachmentData, SetupOrgSubject, type StartAgentSessionRequest, type StartAgentSessionResponse, StartAgentSessionSubject, type ToolCall, type TriggerAnalyticsScanRequest, type TriggerAnalyticsScanResponse, TriggerAnalyticsScanSubject, type UpdateAgentLastActivityRequest, type UpdateAgentLastActivityResponse, UpdateAgentLastActivitySubject, type UpdateAgentQueueRequest, type UpdateAgentQueueResponse, UpdateAgentQueueSubject, type UpdateAgentStatusRequest, type UpdateAgentStatusResponse, UpdateAgentStatusSubject, type UpdateUserStatusRequest, type UpdateUserStatusResponse, UpdateUserStatusSubject, type UserSession, type UserStatus, UserStatusAway, UserStatusBusy, UserStatusOffline, UserStatusOnline, type UserStatusTS };
@@ -31,6 +31,7 @@ __export(models_exports, {
31
31
  AttachmentTypeAudio: () => AttachmentTypeAudio,
32
32
  AttachmentTypeBullets: () => AttachmentTypeBullets,
33
33
  AttachmentTypeData: () => AttachmentTypeData,
34
+ AttachmentTypeDataFile: () => AttachmentTypeDataFile,
34
35
  AttachmentTypeDocument: () => AttachmentTypeDocument,
35
36
  AttachmentTypeDocumentAnalysis: () => AttachmentTypeDocumentAnalysis,
36
37
  AttachmentTypeDocumentSources: () => AttachmentTypeDocumentSources,
@@ -39,6 +40,7 @@ __export(models_exports, {
39
40
  AttachmentTypeLocation: () => AttachmentTypeLocation,
40
41
  AttachmentTypeRecords: () => AttachmentTypeRecords,
41
42
  AttachmentTypeReferences: () => AttachmentTypeReferences,
43
+ AttachmentTypeSpreadsheet: () => AttachmentTypeSpreadsheet,
42
44
  AttachmentTypeSticker: () => AttachmentTypeSticker,
43
45
  AttachmentTypeSubsections: () => AttachmentTypeSubsections,
44
46
  AttachmentTypeVideo: () => AttachmentTypeVideo,
@@ -52,6 +54,10 @@ __export(models_exports, {
52
54
  ChatEventTypeAgentSessionEnd: () => ChatEventTypeAgentSessionEnd,
53
55
  ChatEventTypeAgentSessionStart: () => ChatEventTypeAgentSessionStart,
54
56
  ChatEventTypeAgentStatusChange: () => ChatEventTypeAgentStatusChange,
57
+ ChatEventTypeAttachmentProcessingComplete: () => ChatEventTypeAttachmentProcessingComplete,
58
+ ChatEventTypeAttachmentProcessingError: () => ChatEventTypeAttachmentProcessingError,
59
+ ChatEventTypeAttachmentProcessingProgress: () => ChatEventTypeAttachmentProcessingProgress,
60
+ ChatEventTypeAttachmentProcessingStarted: () => ChatEventTypeAttachmentProcessingStarted,
55
61
  ChatEventTypeBlockUser: () => ChatEventTypeBlockUser,
56
62
  ChatEventTypeCSATRequest: () => ChatEventTypeCSATRequest,
57
63
  ChatEventTypeCSATResponse: () => ChatEventTypeCSATResponse,
@@ -103,6 +109,7 @@ __export(models_exports, {
103
109
  ChatEventTypePong: () => ChatEventTypePong,
104
110
  ChatEventTypeRead: () => ChatEventTypeRead,
105
111
  ChatEventTypeReconnected: () => ChatEventTypeReconnected,
112
+ ChatEventTypeRetryAttachment: () => ChatEventTypeRetryAttachment,
106
113
  ChatEventTypeRoomCreated: () => ChatEventTypeRoomCreated,
107
114
  ChatEventTypeRoomDeleted: () => ChatEventTypeRoomDeleted,
108
115
  ChatEventTypeRoomUpdated: () => ChatEventTypeRoomUpdated,
@@ -317,6 +324,11 @@ var ChatEventTypePong = "pong";
317
324
  var ChatEventTypeSkillActivate = "skill_activate";
318
325
  var ChatEventTypeSkillDeactivate = "skill_deactivate";
319
326
  var ChatEventTypeSkillsChanged = "skills_changed";
327
+ var ChatEventTypeAttachmentProcessingStarted = "attachment_processing_started";
328
+ var ChatEventTypeAttachmentProcessingProgress = "attachment_processing_progress";
329
+ var ChatEventTypeAttachmentProcessingComplete = "attachment_processing_complete";
330
+ var ChatEventTypeAttachmentProcessingError = "attachment_processing_error";
331
+ var ChatEventTypeRetryAttachment = "retry_attachment";
320
332
  var MessageStatusSending = "sending";
321
333
  var MessageStatusSent = "sent";
322
334
  var MessageStatusDelivered = "delivered";
@@ -338,6 +350,8 @@ var AttachmentTypeSticker = "sticker";
338
350
  var AttachmentTypeData = "data";
339
351
  var AttachmentTypeKGNodes = "kgNodes";
340
352
  var AttachmentTypeDocumentSources = "document_sources";
353
+ var AttachmentTypeSpreadsheet = "spreadsheet";
354
+ var AttachmentTypeDataFile = "data_file";
341
355
  var ChatSessionStatusActive = "active";
342
356
  var ChatSessionStatusIdle = "idle";
343
357
  var ChatSessionStatusExpired = "expired";
@@ -394,6 +408,7 @@ var SetupOrgSubject = "chat.org.setup";
394
408
  AttachmentTypeAudio,
395
409
  AttachmentTypeBullets,
396
410
  AttachmentTypeData,
411
+ AttachmentTypeDataFile,
397
412
  AttachmentTypeDocument,
398
413
  AttachmentTypeDocumentAnalysis,
399
414
  AttachmentTypeDocumentSources,
@@ -402,6 +417,7 @@ var SetupOrgSubject = "chat.org.setup";
402
417
  AttachmentTypeLocation,
403
418
  AttachmentTypeRecords,
404
419
  AttachmentTypeReferences,
420
+ AttachmentTypeSpreadsheet,
405
421
  AttachmentTypeSticker,
406
422
  AttachmentTypeSubsections,
407
423
  AttachmentTypeVideo,
@@ -415,6 +431,10 @@ var SetupOrgSubject = "chat.org.setup";
415
431
  ChatEventTypeAgentSessionEnd,
416
432
  ChatEventTypeAgentSessionStart,
417
433
  ChatEventTypeAgentStatusChange,
434
+ ChatEventTypeAttachmentProcessingComplete,
435
+ ChatEventTypeAttachmentProcessingError,
436
+ ChatEventTypeAttachmentProcessingProgress,
437
+ ChatEventTypeAttachmentProcessingStarted,
418
438
  ChatEventTypeBlockUser,
419
439
  ChatEventTypeCSATRequest,
420
440
  ChatEventTypeCSATResponse,
@@ -466,6 +486,7 @@ var SetupOrgSubject = "chat.org.setup";
466
486
  ChatEventTypePong,
467
487
  ChatEventTypeRead,
468
488
  ChatEventTypeReconnected,
489
+ ChatEventTypeRetryAttachment,
469
490
  ChatEventTypeRoomCreated,
470
491
  ChatEventTypeRoomDeleted,
471
492
  ChatEventTypeRoomUpdated,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../models/index.ts","../../models/chat-models.ts"],"sourcesContent":["export * from \"./chat-models\";\n","// Code generated by tygo. DO NOT EDIT.\nimport { KGNode } from \"@elqnt/kg\";\nimport { Variable } from \"@elqnt/types\";\nimport { ResponseMetadata, ProductNameTS } from \"@elqnt/types\";\nimport { DocumentAnalysisResult } from \"@elqnt/docs\";\n\n//////////\n// source: chat-models.go\n\nexport type ChatStatusTS = 'active' | 'disconnected' | 'abandoned' | 'closed' | 'archived';\nexport type ChatStatus = string;\nexport const ChatStatusActive: ChatStatus = \"active\";\nexport const ChatStatusDisconnected: ChatStatus = \"disconnected\";\nexport const ChatStatusAbandoned: ChatStatus = \"abandoned\";\nexport const ChatStatusClosed: ChatStatus = \"closed\";\nexport const ChatStatusArchived: ChatStatus = \"archived\";\nexport type ChatTypeTS = 'customer_support' | 'public_room' | 'private_room' | 'direct' | 'group';\nexport type ChatType = string;\nexport const ChatTypeCustomerSupport: ChatType = \"customer_support\"; // Existing customer support chats\nexport const ChatTypePublicRoom: ChatType = \"public_room\"; // Public collaboration room\nexport const ChatTypePrivateRoom: ChatType = \"private_room\"; // Private collaboration room\nexport const ChatTypeDirect: ChatType = \"direct\"; // 1-on-1 direct message\nexport const ChatTypeGroup: ChatType = \"group\"; // Group chat/room\nexport interface Chat {\n orgId: string;\n key: string;\n title: string;\n messages: ChatMessage[];\n lastUpdated: number /* int64 */;\n startTime: number /* int64 */;\n users: ChatUser[];\n status: ChatStatusTS;\n aiEngaged: boolean;\n humanAgentEngaged: boolean;\n isWaiting: boolean;\n isWaitingForAgent: boolean;\n callRequested?: boolean;\n callStarted?: boolean;\n userRating?: number /* int */;\n metadata?: { [key: string]: any};\n grading?: ChatGrading;\n flow?: ChatFlow;\n context?: ChatContext;\n csatSent?: boolean;\n csatSentTime?: number /* int64 */;\n csatResponse?: any /* agents.CSATResponse */;\n /**\n * Active skills for this chat session\n */\n activeSkills?: any /* agents.Skill */[];\n /**\n * OpenAI Responses API - stores the last response ID for conversation continuity\n */\n lastResponseId?: string;\n /**\n * AgentContext - reference to structured context stored in separate NATS KV bucket\n * Key format: {agentId}:{chatKey} in bucket agent-contexts-org-{orgId}\n */\n agentContextKey?: string;\n /**\n * Chat Pin\n */\n pinned?: boolean;\n /**\n * Collab-specific fields\n */\n chatType?: ChatTypeTS;\n description?: string;\n}\nexport interface ChatContext {\n memory: { [key: string]: any};\n turnCount: number /* int */;\n lastIntent: string;\n activeTopic: string;\n}\nexport interface ChatFlow {\n flowDefinitionId: string;\n flowInstanceId?: string;\n flowInstanceLastUpdated?: number /* int64 */;\n tools?: ChatTool[];\n}\nexport interface ChatTool {\n name: string;\n description: string;\n type: string; // function, action, data_query etc\n parameters?: { [key: string]: any};\n}\nexport type ChatRoleTS = 'user' | 'ai' | 'event' | 'humanAgent' | 'observer' | 'dataQuery' | 'system' | 'tool';\nexport type ChatRole = string;\nexport const ChatRoleUser: ChatRole = \"user\";\nexport const ChatRoleAI: ChatRole = \"ai\";\nexport const ChatRoleEvent: ChatRole = \"event\";\nexport const ChatRoleHumanAgent: ChatRole = \"humanAgent\";\nexport const ChatRoleObserver: ChatRole = \"observer\";\nexport const ChatRoleDataQuery: ChatRole = \"dataQuery\";\nexport const ChatRoleSystem: ChatRole = \"system\";\nexport const ChatRoleTool: ChatRole = \"tool\";\nexport interface ChatUser {\n id: string;\n role: ChatRoleTS;\n name: string;\n email: string;\n phone?: string;\n authProvider: string;\n authToken: string;\n metadata?: { [key: string]: any};\n}\nexport type AgentStatusTS = 'online' | 'away' | 'busy' | 'offline';\nexport type AgentStatus = string;\nexport const AgentStatusOnline: AgentStatus = \"online\";\nexport const AgentStatusAway: AgentStatus = \"away\";\nexport const AgentStatusBusy: AgentStatus = \"busy\";\nexport const AgentStatusOffline: AgentStatus = \"offline\";\n/**\n * AgentSession represents an active agent session stored in Redis\n */\nexport interface AgentSession {\n agentId: string;\n orgId: string;\n onlineSince: number /* int64 */; // Unix timestamp\n lastActivity: number /* int64 */; // Unix timestamp\n status: AgentStatusTS;\n chatsHandled: number /* int */;\n activeChats: string[]; // Chat keys currently handling\n userAgent?: string;\n ipAddress?: string;\n metadata?: { [key: string]: any};\n}\nexport type ChatEventType = string;\n/**\n * ** user events\n */\nexport const ChatEventTypeUserJoined: ChatEventType = \"user_joined\";\nexport const ChatEventTypeUserLeft: ChatEventType = \"user_left\";\nexport const ChatEventTypeTyping: ChatEventType = \"typing\";\nexport const ChatEventTypeStoppedTyping: ChatEventType = \"stopped_typing\";\nexport const ChatEventTypeRead: ChatEventType = \"read\";\nexport const ChatEventTypeDelivered: ChatEventType = \"delivered\";\nexport const ChatEventTypeReconnected: ChatEventType = \"reconnected\";\nexport const ChatEventTypeError: ChatEventType = \"error\";\nexport const ChatEventTypeWaiting: ChatEventType = \"waiting\";\nexport const ChatEventTypeLoadChat: ChatEventType = \"load_chat\";\nexport const ChatEventTypeLoadChatResponse: ChatEventType = \"load_chat_response\";\nexport const ChatEventTypeMessage: ChatEventType = \"message\";\nexport const ChatEventTypeWaitingForAgent: ChatEventType = \"waiting_for_agent\";\nexport const ChatEventTypeMessageStatusUpdate: ChatEventType = \"message_status_update\";\nexport const ChatEventTypeHumanAgentJoined: ChatEventType = \"human_agent_joined\";\nexport const ChatEventTypeHumanAgentLeft: ChatEventType = \"human_agent_left\";\nexport const ChatEventTypeObserverJoined: ChatEventType = \"observer_joined\";\nexport const ChatEventTypeObserverLeft: ChatEventType = \"observer_left\";\nexport const ChatEventTypeListChats: ChatEventType = \"list_chats\";\nexport const ChatEventTypeChatUpdated: ChatEventType = \"chat_updated\";\nexport const ChatEventTypeChatRemoved: ChatEventType = \"chat_removed\";\nexport const ChatEventTypeSyncMetadata: ChatEventType = \"sync_metadata\";\nexport const ChatEventTypeSyncMetadataResponse: ChatEventType = \"sync_metadata_response\";\nexport const ChatEventTypeSyncUserSession: ChatEventType = \"sync_user_session\";\nexport const ChatEventTypeSyncUserSessionResponse: ChatEventType = \"sync_user_session_response\";\nexport const ChatEventTypeClientAction: ChatEventType = \"client_action\";\nexport const ChatEventTypeClientActionCallback: ChatEventType = \"client_action_callback\";\nexport const ChatEventTypeBlockUser: ChatEventType = \"block_user\";\n/**\n * ** collab room management events\n */\nexport const ChatEventTypeCreateRoom: ChatEventType = \"create_room\";\nexport const ChatEventTypeRoomCreated: ChatEventType = \"room_created\";\nexport const ChatEventTypeJoinRoom: ChatEventType = \"join_room\";\nexport const ChatEventTypeLeaveRoom: ChatEventType = \"leave_room\";\nexport const ChatEventTypeDeleteRoom: ChatEventType = \"delete_room\";\nexport const ChatEventTypeRoomDeleted: ChatEventType = \"room_deleted\";\nexport const ChatEventTypeUpdateRoom: ChatEventType = \"update_room\";\nexport const ChatEventTypeRoomUpdated: ChatEventType = \"room_updated\";\nexport const ChatEventTypeInviteUser: ChatEventType = \"invite_user\";\nexport const ChatEventTypeUserInvited: ChatEventType = \"user_invited\";\nexport const ChatEventTypeRoomUserJoined: ChatEventType = \"room_user_joined\";\nexport const ChatEventTypeRoomUserLeft: ChatEventType = \"room_user_left\";\nexport const ChatEventTypeUserRemoved: ChatEventType = \"user_removed\";\nexport const ChatEventTypeListRooms: ChatEventType = \"list_rooms\";\nexport const ChatEventTypeRoomsResponse: ChatEventType = \"rooms_response\";\n/**\n * ** collab message events\n */\nexport const ChatEventTypeMessageEdited: ChatEventType = \"message_edited\";\nexport const ChatEventTypeMessageDeleted: ChatEventType = \"message_deleted\";\nexport const ChatEventTypeMessageReaction: ChatEventType = \"message_reaction\";\nexport const ChatEventTypeMessageReply: ChatEventType = \"message_reply\";\nexport const ChatEventTypeMentionUser: ChatEventType = \"mention_user\";\nexport const ChatEventTypeMessageEditedResponse: ChatEventType = \"message_edited_response\";\nexport const ChatEventTypeMessageDeletedResponse: ChatEventType = \"message_deleted_response\";\nexport const ChatEventTypeMessageReactionResponse: ChatEventType = \"message_reaction_response\";\n/**\n * ** collab user presence events\n */\nexport const ChatEventTypeUserPresenceStart: ChatEventType = \"user_presence_start\";\nexport const ChatEventTypeUserPresenceEnd: ChatEventType = \"user_presence_end\";\nexport const ChatEventTypeUserStatusChange: ChatEventType = \"user_status_change\";\nexport const ChatEventTypeUserActivity: ChatEventType = \"user_activity\";\nexport const ChatEventTypeUserPresenceChanged: ChatEventType = \"user_presence_changed\";\nexport const ChatEventTypeUserActivityUpdate: ChatEventType = \"user_activity_update\";\nexport const ChatEventTypeGetOnlineUsers: ChatEventType = \"get_online_users\";\nexport const ChatEventTypeOnlineUsersResponse: ChatEventType = \"online_users\";\n/**\n * ** shop assist events\n */\nexport const ChatEventTypeEndChat: ChatEventType = \"end_chat\";\nexport const ChatEventTypeChatEnded: ChatEventType = \"chat_ended\";\n/**\n * ** agent session events\n */\nexport const ChatEventTypeAgentSessionStart: ChatEventType = \"agent_session_start\";\nexport const ChatEventTypeAgentSessionEnd: ChatEventType = \"agent_session_end\";\nexport const ChatEventTypeAgentStatusChange: ChatEventType = \"agent_status_change\";\nexport const ChatEventTypeAgentActivityPing: ChatEventType = \"agent_activity_ping\";\nexport const ChatEventTypeAgentChatAssigned: ChatEventType = \"agent_chat_assigned\";\nexport const ChatEventTypeAgentChatCompleted: ChatEventType = \"agent_chat_completed\";\n/**\n * ** AI agents retrieval events\n */\nexport const ChatEventTypeGetAgents: ChatEventType = \"get_agents\";\nexport const ChatEventTypeGetAgentsResponse: ChatEventType = \"get_agents_response\";\n/**\n * ** CSAT events\n */\nexport const ChatEventTypeCSATRequest: ChatEventType = \"csat_request\"; // Internal: scheduler requests chat to send CSAT\nexport const ChatEventTypeCSATSurvey: ChatEventType = \"show_csat_survey\";\nexport const ChatEventTypeCSATResponse: ChatEventType = \"csat_response\";\n/**\n * ** User Suggested Actions events\n */\nexport const ChatEventTypeUserSuggestedActions: ChatEventType = \"user_suggested_actions\";\nexport const ChatEventTypeUserSuggestedActionSelected: ChatEventType = \"user_suggested_action_selected\";\n/**\n * ** Summary events\n */\nexport const ChatEventTypeSummaryUpdate: ChatEventType = \"summary_update\";\n/**\n * ** Agent Context events\n */\nexport const ChatEventTypeAgentContextUpdate: ChatEventType = \"agent_context_update\";\nexport const ChatEventTypeAgentExecutionStarted: ChatEventType = \"agent_execution_started\";\nexport const ChatEventTypeAgentExecutionEnded: ChatEventType = \"agent_execution_ended\";\nexport const ChatEventTypeLoadAgentContext: ChatEventType = \"load_agent_context\";\nexport const ChatEventTypeLoadAgentContextResponse: ChatEventType = \"load_agent_context_response\";\n/**\n * ** Plan → Approve → Execute events\n */\nexport const ChatEventTypePlanPendingApproval: ChatEventType = \"plan_pending_approval\";\nexport const ChatEventTypePlanApproved: ChatEventType = \"plan_approved\";\nexport const ChatEventTypePlanRejected: ChatEventType = \"plan_rejected\";\nexport const ChatEventTypePlanCompleted: ChatEventType = \"plan_completed\";\nexport const ChatEventTypeStepStarted: ChatEventType = \"step_started\";\nexport const ChatEventTypeStepCompleted: ChatEventType = \"step_completed\";\nexport const ChatEventTypeStepFailed: ChatEventType = \"step_failed\";\n/**\n * ** New Chat events\n */\nexport const ChatEventTypeNewChat: ChatEventType = \"new_chat\";\nexport const ChatEventTypeNewChatCreated: ChatEventType = \"new_chat_created\";\n/**\n * ** Heartbeat events\n */\nexport const ChatEventTypePing: ChatEventType = \"ping\";\nexport const ChatEventTypePong: ChatEventType = \"pong\";\n/**\n * ** Skill activation events\n */\nexport const ChatEventTypeSkillActivate: ChatEventType = \"skill_activate\";\nexport const ChatEventTypeSkillDeactivate: ChatEventType = \"skill_deactivate\";\nexport const ChatEventTypeSkillsChanged: ChatEventType = \"skills_changed\";\nexport type ChatEventTypeTS =\n | \"message\"\n | \"user_joined\"\n | \"user_left\"\n | \"typing\"\n | \"stopped_typing\"\n | \"read\"\n | \"delivered\"\n | \"reconnected\"\n | \"error\"\n | \"message_status_update\"\n | \"load_chat\"\n | \"load_chat_response\"\n | \"waiting\"\n | \"waiting_for_agent\"\n | \"human_agent_joined\"\n | \"end_chat\"\n | \"chat_ended\"\n | \"human_agent_left\"\n | \"observer_joined\"\n | \"observer_left\"\n | \"list_chats\"\n | \"chat_updated\"\n | \"chat_removed\"\n | \"sync_metadata\"\n | \"sync_metadata_response\"\n | \"sync_user_session\"\n | \"sync_user_session_response\"\n | \"agent_session_start\"\n | \"agent_session_end\"\n | \"agent_status_change\"\n | \"agent_activity_ping\"\n | \"agent_chat_assigned\"\n | \"agent_chat_completed\"\n | \"client_action\"\n | \"client_action_callback\"\n | \"show_csat_survey\"\n | \"csat_response\"\n | \"user_suggested_actions\"\n | \"user_suggested_action_selected\"\n | \"summary_update\"\n | \"agent_context_update\"\n | \"agent_execution_started\"\n | \"agent_execution_ended\"\n | \"load_agent_context\"\n | \"load_agent_context_response\"\n | \"plan_pending_approval\"\n | \"plan_approved\"\n | \"plan_rejected\"\n | \"plan_completed\"\n | \"step_started\"\n | \"step_completed\"\n | \"step_failed\"\n | \"new_chat\"\n | \"new_chat_created\"\n | \"block_user\"\n | \"ping\"\n | \"pong\"\n | \"create_room\"\n | \"room_created\"\n | \"join_room\"\n | \"leave_room\"\n | \"delete_room\"\n | \"room_deleted\"\n | \"update_room\"\n | \"room_updated\"\n | \"invite_user\"\n | \"user_invited\"\n | \"room_user_joined\"\n | \"room_user_left\"\n | \"user_removed\"\n | \"list_rooms\"\n | \"rooms_response\"\n | \"message_edited\"\n | \"message_deleted\"\n | \"message_reaction\"\n | \"message_reply\"\n | \"mention_user\"\n | \"message_edited_response\"\n | \"message_deleted_response\"\n | \"message_reaction_response\"\n | \"user_presence_start\"\n | \"user_presence_end\"\n | \"user_status_change\"\n | \"user_activity\"\n | \"user_presence_changed\"\n | \"user_activity_update\"\n | \"get_online_users\"\n | \"online_users\"\n | \"get_agents\"\n | \"get_agents_response\"\n | \"skill_activate\"\n | \"skill_deactivate\"\n | \"skills_changed\";\nexport type MessageStatus = string;\nexport const MessageStatusSending: MessageStatus = \"sending\";\nexport const MessageStatusSent: MessageStatus = \"sent\";\nexport const MessageStatusDelivered: MessageStatus = \"delivered\";\nexport const MessageStatusRead: MessageStatus = \"read\";\nexport const MessageStatusFailed: MessageStatus = \"failed\";\nexport type MessageStatusTS =\n | \"sending\"\n | \"sent\"\n | \"delivered\"\n | \"read\"\n | \"failed\";\n/**\n * EmojiReaction represents an emoji reaction to a message\n */\nexport interface EmojiReaction {\n emoji: string;\n count: number /* int */;\n users?: string[]; // List of user IDs who reacted\n}\n/**\n * Location represents geographical coordinates\n */\nexport interface Location {\n latitude: number /* float64 */;\n longitude: number /* float64 */;\n address?: string;\n}\n/**\n * AttachmentFile represents a file within an attachment\n */\nexport interface AttachmentFile {\n type: string;\n url: string;\n thumbnailUrl?: string;\n name?: string;\n size?: number /* int64 */;\n}\nexport type AttachmentType = string;\n/**\n * Attachment types for both user and system attachments\n */\nexport const AttachmentTypeDocument: AttachmentType = \"document\";\nexport const AttachmentTypeDocumentAnalysis: AttachmentType = \"document_analysis\";\nexport const AttachmentTypeImage: AttachmentType = \"image\";\nexport const AttachmentTypeAudio: AttachmentType = \"audio\";\nexport const AttachmentTypeVideo: AttachmentType = \"video\";\nexport const AttachmentTypeLocation: AttachmentType = \"location\";\nexport const AttachmentTypeReferences: AttachmentType = \"references\";\nexport const AttachmentTypeSubsections: AttachmentType = \"subsections\";\nexport const AttachmentTypeArticles: AttachmentType = \"articles\";\nexport const AttachmentTypeRecords: AttachmentType = \"records\";\nexport const AttachmentTypeActions: AttachmentType = \"actions\";\nexport const AttachmentTypeBullets: AttachmentType = \"bullets\";\nexport const AttachmentTypeSticker: AttachmentType = \"sticker\";\nexport const AttachmentTypeData: AttachmentType = \"data\";\nexport const AttachmentTypeKGNodes: AttachmentType = \"kgNodes\";\nexport const AttachmentTypeDocumentSources: AttachmentType = \"document_sources\";\n\nexport type AttachmentTypeTS =\n | \"document\"\n | \"document_analysis\"\n | \"image\"\n | \"audio\"\n | \"video\"\n | \"location\"\n | \"references\"\n | \"subsections\"\n | \"articles\"\n | \"records\"\n | \"actions\"\n | \"bullets\"\n | \"sticker\"\n | \"data\"\n | \"kgNodes\"\n | \"document_sources\";\n\n/**\n * DocumentSource represents an aggregated document source with page references\n * Used to display source cards in chat responses after document search\n */\nexport interface DocumentSource {\n doc_id: string;\n title: string;\n url: string;\n page_numbers: number /* int */[];\n reference_count: number /* int */;\n bounding_regions?: any /* docs.BoundingRegion */[];\n page_infos?: any /* docs.PageInfo */[]; // Page dimensions for coordinate scaling\n}\n/**\n * Attachment represents any type of attachment to a message\n */\nexport interface Attachment {\n type: AttachmentTypeTS;\n documentAnalysis?: DocumentAnalysisResult;\n title?: string;\n url: string;\n files?: AttachmentFile[]; // Associated files\n location?: Location; // Location data if applicable\n data?: { [key: string]: Variable};\n kgNodes?: KGNode[];\n actions?: Action[];\n documentSources?: DocumentSource[];\n}\nexport interface Action {\n id: string;\n title: string;\n icon?: string;\n description?: string;\n onAction?: () => void;\n}\n/**\n * ChatMessage represents the core message structure\n */\nexport interface ChatMessage {\n /**\n * Core fields\n */\n id: string;\n role: ChatRoleTS;\n content: string;\n time: number /* int64 */;\n status: MessageStatusTS;\n /**\n * Sender information\n */\n senderId: string;\n senderName?: string;\n /**\n * Timing\n */\n createdAt: number /* int64 */;\n updatedAt?: number /* int64 */;\n /**\n * Message relations\n */\n replyTo?: string;\n threadId?: string;\n mentions?: string[];\n /**\n * Attachments and reactions\n */\n attachments?: Attachment[];\n reactions?: EmojiReaction[];\n /**\n * Additional data\n */\n variables?: { [key: string]: Variable};\n /**\n * Tool call\n */\n name?: string;\n toolCallId?: string;\n toolCalls?: ToolCall[];\n /**\n * LLM usage\n */\n llmUsage?: LLMUsage;\n}\nexport interface ChatEvent {\n type: ChatEventTypeTS;\n orgId: string;\n chatKey: string;\n userId: string;\n timestamp: number /* int64 */;\n data?: { [key: string]: any};\n message?: ChatMessage;\n}\nexport interface ChatGrading {\n chatKey: string;\n grade: number /* int */;\n topic: string;\n summary: string;\n}\nexport interface ChatSession {\n id: string;\n status: ChatSessionStatus;\n user?: ChatUser;\n activeChatKey?: string;\n preferences?: ChatSessionPreferences;\n lastActivity: number /* int64 */;\n expiresAt: number /* int64 */;\n metadata?: { [key: string]: any};\n}\nexport type ChatSessionStatus = string;\nexport const ChatSessionStatusActive: ChatSessionStatus = \"active\";\nexport const ChatSessionStatusIdle: ChatSessionStatus = \"idle\";\nexport const ChatSessionStatusExpired: ChatSessionStatus = \"expired\";\nexport interface ChatSessionPreferences {\n language: string;\n theme: string;\n notifications: boolean;\n timeZone: string;\n messageDisplay: string; // compact/expanded\n autoTranslate: boolean;\n rateLimits?: ChatRateLimits;\n}\nexport interface ChatRateLimits {\n maxMessagesPerMinute: number /* int */;\n maxTokensPerDay: number /* int */;\n cooldownPeriod: number /* int */; // seconds\n}\n/**\n * ==========================\n * todo: move to common/llm\n */\nexport interface LLMConfig {\n Provider: string;\n Model: string;\n Temperature: number /* float64 */;\n MaxTokens: number /* int */;\n SystemPrompt: string;\n Tools: LLMTool[];\n Memory?: LLMMemoryConfig;\n}\nexport interface LLMMemoryConfig {\n MaxMessages: number /* int */;\n IncludeSystem: boolean;\n WindowSize: number /* int */; // Token window size\n Strategy: string; // e.g., \"sliding\", \"summarize\"\n}\nexport interface LLMTool {\n Name: string;\n Type: string;\n Function: LLMFunction;\n}\nexport interface LLMFunction {\n Name: string;\n Description: string;\n Parameters: any /* types.JSONSchema */;\n}\nexport interface ToolCall {\n Name: string;\n Arguments: { [key: string]: any};\n ID: string;\n Description: string;\n}\nexport interface LLMResponse {\n Content: string;\n ToolCalls: ToolCall[];\n Usage?: LLMUsage;\n ResponseId: string; // OpenAI Responses API - the response ID for conversation continuity\n}\nexport interface LLMUsage {\n inputTokens: number /* int64 */;\n outputTokens: number /* int64 */;\n totalTokens: number /* int64 */;\n}\n/**\n * ChatSummary represents lightweight chat information for caching and listing\n */\nexport interface ChatSummary {\n chatKey: string;\n title: string;\n userId?: string;\n status: ChatStatus;\n lastUpdated: number /* int64 */;\n waitingSince?: number /* int64 */; // Only populated for waiting chats\n pinned?: boolean;\n metadata?: { [key: string]: any};\n}\nexport interface GetChatRequest {\n orgId: string;\n chatKey: string;\n}\nexport interface GetChatResponse {\n chat?: Chat;\n metadata: ResponseMetadata;\n}\nexport interface ChatProductReference {\n id: string;\n title: string;\n price: number /* float64 */;\n image?: string;\n url?: string;\n}\n/**\n * Chat Archival Models\n */\nexport interface ChatArchivalRequest {\n orgId: string;\n chatKey: string;\n chat: Chat;\n}\nexport interface ChatArchivalResponse {\n success: boolean;\n error?: string;\n message?: string;\n}\n/**\n * Agent Session Request/Response Models\n */\nexport interface StartAgentSessionRequest {\n orgId: string;\n agentId: string;\n userAgent?: string;\n ipAddress?: string;\n}\nexport interface StartAgentSessionResponse {\n metadata: ResponseMetadata;\n}\nexport interface EndAgentSessionRequest {\n orgId: string;\n agentId: string;\n}\nexport interface EndAgentSessionResponse {\n metadata: ResponseMetadata;\n}\nexport interface UpdateAgentStatusRequest {\n orgId: string;\n agentId: string;\n status: AgentStatusTS;\n}\nexport interface UpdateAgentStatusResponse {\n metadata: ResponseMetadata;\n}\nexport interface UpdateAgentLastActivityRequest {\n orgId: string;\n agentId: string;\n}\nexport interface UpdateAgentLastActivityResponse {\n metadata: ResponseMetadata;\n}\nexport interface AssignChatToAgentRequest {\n orgId: string;\n agentId: string;\n chatKey: string;\n}\nexport interface AssignChatToAgentResponse {\n metadata: ResponseMetadata;\n}\nexport interface CompleteChatByAgentRequest {\n orgId: string;\n agentId: string;\n chatKey: string;\n}\nexport interface CompleteChatByAgentResponse {\n metadata: ResponseMetadata;\n}\nexport interface GetAgentSessionRequest {\n orgId: string;\n agentId: string;\n}\nexport interface GetAgentSessionResponse {\n session?: AgentSession;\n metadata: ResponseMetadata;\n}\nexport interface GetOnlineAgentsRequest {\n orgId: string;\n}\nexport interface GetOnlineAgentsResponse {\n sessions: AgentSession[];\n metadata: ResponseMetadata;\n}\nexport interface GetOnlineAgentCountRequest {\n orgId: string;\n}\nexport interface GetOnlineAgentCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\n/**\n * Queue-specific chat request/response types\n */\nexport interface GetQueueChatsRequest {\n orgId: string;\n queueId: string;\n}\nexport interface GetQueueChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\nexport interface GetQueueChatCountRequest {\n orgId: string;\n queueId: string;\n}\nexport interface GetQueueChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport type UserStatusTS = 'online' | 'away' | 'busy' | 'offline';\nexport type UserStatus = string;\nexport const UserStatusOnline: UserStatus = \"online\";\nexport const UserStatusAway: UserStatus = \"away\";\nexport const UserStatusBusy: UserStatus = \"busy\";\nexport const UserStatusOffline: UserStatus = \"offline\";\n/**\n * UserSession for tracking online users\n */\nexport interface UserSession {\n orgId: string;\n userId: string;\n userName: string;\n status: UserStatusTS;\n onlineSince: number /* int64 */;\n lastActivity: number /* int64 */;\n}\n/**\n * User status update requests\n */\nexport interface UpdateUserStatusRequest {\n orgId: string;\n userId: string;\n status: UserStatusTS;\n}\nexport interface UpdateUserStatusResponse {\n metadata: ResponseMetadata;\n}\n/**\n * Get online users\n */\nexport interface GetOnlineUsersRequest {\n orgId: string;\n}\nexport interface GetOnlineUsersResponse {\n metadata: ResponseMetadata;\n users: UserSession[];\n}\n/**\n * Analytics Trigger Models\n */\nexport interface TriggerAnalyticsScanRequest {\n org_id?: string; // Optional: if empty, scans all orgs\n}\nexport interface TriggerAnalyticsScanResponse {\n metadata: ResponseMetadata;\n chats_archived: number /* int */;\n}\n\n//////////\n// source: chat-stats-models.go\n\n/**\n * Active chat requests/responses\n */\nexport interface GetActiveChatCountRequest {\n orgId: string;\n}\nexport interface GetActiveChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport interface GetActiveChatsRequest {\n orgId: string;\n pastHours?: number /* float64 */; // 0 means all, 0.5 means past 30 min, 1 means past hour, etc.\n}\nexport interface GetActiveChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n/**\n * Waiting for agent requests/responses\n */\nexport interface GetWaitingForAgentChatCountRequest {\n orgId: string;\n}\nexport interface GetWaitingForAgentChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport interface GetWaitingForAgentChatsRequest {\n orgId: string;\n}\nexport interface GetWaitingForAgentChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n/**\n * User chats requests/responses\n */\nexport interface GetUserChatsRequest {\n orgId: string;\n userId: string;\n limit?: number /* int */; // Number of chats to return (default 15)\n offset?: number /* int */; // Number of chats to skip (for pagination)\n}\nexport interface GetUserChatsResponse {\n chats: ChatSummary[];\n total: number /* int */; // Total number of chats for this user\n hasMore: boolean; // Whether there are more chats to load\n metadata: ResponseMetadata;\n}\n/**\n * Daily counter requests/responses\n */\nexport interface GetDailyChatCountRequest {\n orgId: string;\n date: string /* RFC3339 */;\n timezone: string;\n}\nexport interface GetDailyChatCountResponse {\n count: number /* int64 */;\n date: string;\n timezone: string;\n metadata: any /* types.ResponseMetadata */;\n}\n\n//////////\n// source: queue-models.go\n\n\n// Queue types\nexport const QueueTypes = {\n skill: { value: 'skill', label: 'Skill-based', description: 'Route by agent expertise and skills' },\n priority: { value: 'priority', label: 'Priority-based', description: 'Route by customer tier and urgency level' },\n department: { value: 'department', label: 'Department-based', description: 'Route by business function alignment' },\n complexity: { value: 'complexity', label: 'Complexity-based', description: 'Route by issue difficulty assessment' },\n} as const;\n\nexport type QueueTypeTS = keyof typeof QueueTypes;\nexport type QueueTypeOptionTS = typeof QueueTypes[QueueTypeTS];\n\n/**\n * QueueType represents the routing algorithm type\n */\nexport type QueueType = string;\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeSkill: QueueType = \"skill\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypePriority: QueueType = \"priority\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeDepartment: QueueType = \"department\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeComplexity: QueueType = \"complexity\";\n/**\n * AgentQueue represents an individual queue within a queue type\n */\nexport interface AgentQueue {\n id: string /* uuid */;\n orgId: string;\n type: QueueTypeTS; // \"skill\", \"priority\", etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case for metadata matching)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable display name)\n description: string;\n agentIds: string[]; // Agents assigned to this queue\n config: { [key: string]: any}; // Extensible configuration\n isActive: boolean;\n isDefault: boolean; // Default queue for unmatched chats\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n createdBy?: string;\n updatedBy?: string;\n}\n/**\n * GetAgentQueuesFilter represents filtering options for agent queues\n */\nexport interface GetAgentQueuesFilter {\n type?: QueueType;\n isActive?: boolean;\n}\n/**\n * Agent Queue Operations\n */\nexport interface CreateAgentQueueRequest {\n orgId: string;\n type: QueueType; // QueueTypeSkill, QueueTypePriority, etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable)\n description: string;\n agentIds?: string[];\n config?: { [key: string]: any};\n isDefault?: boolean;\n createdBy?: string;\n updatedBy?: string;\n}\nexport interface CreateAgentQueueResponse {\n queue?: AgentQueue;\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface GetAgentQueuesRequest {\n orgId: string;\n type?: QueueType; // Filter by queue type\n isActive?: boolean; // Filter by active status\n}\nexport interface GetAgentQueuesResponse {\n queues: (AgentQueue | undefined)[];\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface UpdateAgentQueueRequest {\n orgId: string;\n id: string;\n type: QueueType; // QueueTypeSkill, QueueTypePriority, etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable)\n description: string;\n agentIds?: string[];\n config?: { [key: string]: any};\n isDefault?: boolean;\n updatedBy?: string;\n}\nexport interface UpdateAgentQueueResponse {\n queue?: AgentQueue;\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface DeleteAgentQueueRequest {\n orgId: string;\n id: string;\n}\nexport interface DeleteAgentQueueResponse {\n metadata: any /* types.ResponseMetadata */;\n}\n/**\n * ChatQueueInfo extends Chat with queue routing information\n */\nexport interface ChatQueueInfo {\n recommendedQueueId?: string /* uuid */;\n recommendedQueueName?: string;\n assignedQueueId?: string /* uuid */;\n assignedQueueName?: string;\n}\n\n//////////\n// source: subjects.go\n\nexport const GetWaitingForAgentChatCountSubject = \"chat.get_waiting_for_agent_chat_count\";\nexport const GetActiveChatCountSubject = \"chat.get_active_chat_count\";\nexport const GetWaitingForAgentChatsSubject = \"chat.get_waiting_for_agent_chats\";\nexport const GetActiveChatsSubject = \"chat.get_active_chats\";\nexport const GetUserChatsSubject = \"chat.get_user_chats\";\nexport const GetChatSubject = \"chat.get_chat\";\n/**\n * Chat Archival Subjects\n */\nexport const ChatArchiveSubjectPattern = \"chat.archive.%s.server\"; // %s = channel/product (e.g., shop-assist, gov-services)\n/**\n * Agent Session Subjects\n */\nexport const StartAgentSessionSubject = \"chat.agent_session.start\";\nexport const EndAgentSessionSubject = \"chat.agent_session.end\";\nexport const UpdateAgentStatusSubject = \"chat.agent_session.update_status\";\nexport const UpdateAgentLastActivitySubject = \"chat.agent_session.update_last_activity\";\nexport const AssignChatToAgentSubject = \"chat.agent_session.assign_chat\";\nexport const CompleteChatByAgentSubject = \"chat.agent_session.complete_chat\";\nexport const GetAgentSessionSubject = \"chat.agent_session.get\";\nexport const GetOnlineAgentsSubject = \"chat.agent_session.get_online_agents\";\nexport const GetOnlineAgentCountSubject = \"chat.agent_session.get_online_agent_count\";\n/**\n * Queue Management Subjects\n */\nexport const CreateAgentQueueSubject = \"chat.agent_queue.create\";\nexport const GetAgentQueuesSubject = \"chat.agent_queue.get\";\nexport const UpdateAgentQueueSubject = \"chat.agent_queue.update\";\nexport const DeleteAgentQueueSubject = \"chat.agent_queue.delete\";\n/**\n * Queue-specific Chat Subjects\n */\nexport const GetQueueChatsSubject = \"chat.queue.get_chats\";\nexport const GetQueueChatCountSubject = \"chat.queue.get_chat_count\";\n/**\n * Daily Counter Subjects\n */\nexport const GetDailyChatCountSubject = \"chat.get_daily_chat_count\";\n/**\n * User Status Subjects\n */\nexport const UpdateUserStatusSubject = \"chat.user.status.update\";\nexport const GetOnlineUsersSubject = \"chat.users.online.get\";\n/**\n * Analytics Trigger Subjects\n */\nexport const TriggerAnalyticsScanSubject = \"chat.analytics.trigger-scan\";\n/**\n * Org Setup Subject\n */\nexport const SetupOrgSubject = \"chat.org.setup\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../models/index.ts","../../models/chat-models.ts"],"sourcesContent":["export * from \"./chat-models\";\n","// Code generated by tygo. DO NOT EDIT.\n// NOTE: @elqnt/kg and @elqnt/docs imports made generic for platform independence.\n// If you need strong typing for these, import the types separately and cast.\n\nimport { Variable } from \"@elqnt/types\";\nimport { ResponseMetadata, ProductNameTS } from \"@elqnt/types\";\n\n/**\n * Generic placeholder for KGNode when @elqnt/kg is not available.\n * Import from @elqnt/kg for full type support.\n */\nexport type KGNode = {\n id: string;\n type: string;\n properties?: Record<string, unknown>;\n [key: string]: unknown;\n};\n\n/**\n * Generic placeholder for DocumentAnalysisResult when @elqnt/docs is not available.\n * Import from @elqnt/docs for full type support.\n */\nexport type DocumentAnalysisResult = {\n pages?: unknown[];\n content?: string;\n [key: string]: unknown;\n};\n\n//////////\n// source: chat-models.go\n\nexport type ChatStatusTS = 'active' | 'disconnected' | 'abandoned' | 'closed' | 'archived';\nexport type ChatStatus = string;\nexport const ChatStatusActive: ChatStatus = \"active\";\nexport const ChatStatusDisconnected: ChatStatus = \"disconnected\";\nexport const ChatStatusAbandoned: ChatStatus = \"abandoned\";\nexport const ChatStatusClosed: ChatStatus = \"closed\";\nexport const ChatStatusArchived: ChatStatus = \"archived\";\nexport type ChatTypeTS = 'customer_support' | 'public_room' | 'private_room' | 'direct' | 'group';\nexport type ChatType = string;\nexport const ChatTypeCustomerSupport: ChatType = \"customer_support\"; // Existing customer support chats\nexport const ChatTypePublicRoom: ChatType = \"public_room\"; // Public collaboration room\nexport const ChatTypePrivateRoom: ChatType = \"private_room\"; // Private collaboration room\nexport const ChatTypeDirect: ChatType = \"direct\"; // 1-on-1 direct message\nexport const ChatTypeGroup: ChatType = \"group\"; // Group chat/room\nexport interface Chat {\n orgId: string;\n key: string;\n title: string;\n messages: ChatMessage[];\n lastUpdated: number /* int64 */;\n startTime: number /* int64 */;\n users: ChatUser[];\n status: ChatStatusTS;\n aiEngaged: boolean;\n humanAgentEngaged: boolean;\n isWaiting: boolean;\n isWaitingForAgent: boolean;\n callRequested?: boolean;\n callStarted?: boolean;\n userRating?: number /* int */;\n metadata?: { [key: string]: any};\n grading?: ChatGrading;\n flow?: ChatFlow;\n context?: ChatContext;\n csatSent?: boolean;\n csatSentTime?: number /* int64 */;\n csatResponse?: any /* agents.CSATResponse */;\n /**\n * Active skills for this chat session\n */\n activeSkills?: any /* agents.Skill */[];\n /**\n * OpenAI Responses API - stores the last response ID for conversation continuity\n */\n lastResponseId?: string;\n /**\n * AgentContext - reference to structured context stored in separate NATS KV bucket\n * Key format: {agentId}:{chatKey} in bucket agent-contexts-org-{orgId}\n */\n agentContextKey?: string;\n /**\n * Chat Pin\n */\n pinned?: boolean;\n /**\n * Collab-specific fields\n */\n chatType?: ChatTypeTS;\n description?: string;\n}\nexport interface ChatContext {\n memory: { [key: string]: any};\n turnCount: number /* int */;\n lastIntent: string;\n activeTopic: string;\n}\nexport interface ChatFlow {\n flowDefinitionId: string;\n flowInstanceId?: string;\n flowInstanceLastUpdated?: number /* int64 */;\n tools?: ChatTool[];\n}\nexport interface ChatTool {\n name: string;\n description: string;\n type: string; // function, action, data_query etc\n parameters?: { [key: string]: any};\n}\nexport type ChatRoleTS = 'user' | 'ai' | 'event' | 'humanAgent' | 'observer' | 'dataQuery' | 'system' | 'tool';\nexport type ChatRole = string;\nexport const ChatRoleUser: ChatRole = \"user\";\nexport const ChatRoleAI: ChatRole = \"ai\";\nexport const ChatRoleEvent: ChatRole = \"event\";\nexport const ChatRoleHumanAgent: ChatRole = \"humanAgent\";\nexport const ChatRoleObserver: ChatRole = \"observer\";\nexport const ChatRoleDataQuery: ChatRole = \"dataQuery\";\nexport const ChatRoleSystem: ChatRole = \"system\";\nexport const ChatRoleTool: ChatRole = \"tool\";\nexport interface ChatUser {\n id: string;\n role: ChatRoleTS;\n name: string;\n email: string;\n phone?: string;\n authProvider: string;\n authToken: string;\n metadata?: { [key: string]: any};\n}\nexport type AgentStatusTS = 'online' | 'away' | 'busy' | 'offline';\nexport type AgentStatus = string;\nexport const AgentStatusOnline: AgentStatus = \"online\";\nexport const AgentStatusAway: AgentStatus = \"away\";\nexport const AgentStatusBusy: AgentStatus = \"busy\";\nexport const AgentStatusOffline: AgentStatus = \"offline\";\n/**\n * AgentSession represents an active agent session stored in Redis\n */\nexport interface AgentSession {\n agentId: string;\n orgId: string;\n onlineSince: number /* int64 */; // Unix timestamp\n lastActivity: number /* int64 */; // Unix timestamp\n status: AgentStatusTS;\n chatsHandled: number /* int */;\n activeChats: string[]; // Chat keys currently handling\n userAgent?: string;\n ipAddress?: string;\n metadata?: { [key: string]: any};\n}\nexport type ChatEventType = string;\n/**\n * ** user events\n */\nexport const ChatEventTypeUserJoined: ChatEventType = \"user_joined\";\nexport const ChatEventTypeUserLeft: ChatEventType = \"user_left\";\nexport const ChatEventTypeTyping: ChatEventType = \"typing\";\nexport const ChatEventTypeStoppedTyping: ChatEventType = \"stopped_typing\";\nexport const ChatEventTypeRead: ChatEventType = \"read\";\nexport const ChatEventTypeDelivered: ChatEventType = \"delivered\";\nexport const ChatEventTypeReconnected: ChatEventType = \"reconnected\";\nexport const ChatEventTypeError: ChatEventType = \"error\";\nexport const ChatEventTypeWaiting: ChatEventType = \"waiting\";\nexport const ChatEventTypeLoadChat: ChatEventType = \"load_chat\";\nexport const ChatEventTypeLoadChatResponse: ChatEventType = \"load_chat_response\";\nexport const ChatEventTypeMessage: ChatEventType = \"message\";\nexport const ChatEventTypeWaitingForAgent: ChatEventType = \"waiting_for_agent\";\nexport const ChatEventTypeMessageStatusUpdate: ChatEventType = \"message_status_update\";\nexport const ChatEventTypeHumanAgentJoined: ChatEventType = \"human_agent_joined\";\nexport const ChatEventTypeHumanAgentLeft: ChatEventType = \"human_agent_left\";\nexport const ChatEventTypeObserverJoined: ChatEventType = \"observer_joined\";\nexport const ChatEventTypeObserverLeft: ChatEventType = \"observer_left\";\nexport const ChatEventTypeListChats: ChatEventType = \"list_chats\";\nexport const ChatEventTypeChatUpdated: ChatEventType = \"chat_updated\";\nexport const ChatEventTypeChatRemoved: ChatEventType = \"chat_removed\";\nexport const ChatEventTypeSyncMetadata: ChatEventType = \"sync_metadata\";\nexport const ChatEventTypeSyncMetadataResponse: ChatEventType = \"sync_metadata_response\";\nexport const ChatEventTypeSyncUserSession: ChatEventType = \"sync_user_session\";\nexport const ChatEventTypeSyncUserSessionResponse: ChatEventType = \"sync_user_session_response\";\nexport const ChatEventTypeClientAction: ChatEventType = \"client_action\";\nexport const ChatEventTypeClientActionCallback: ChatEventType = \"client_action_callback\";\nexport const ChatEventTypeBlockUser: ChatEventType = \"block_user\";\n/**\n * ** collab room management events\n */\nexport const ChatEventTypeCreateRoom: ChatEventType = \"create_room\";\nexport const ChatEventTypeRoomCreated: ChatEventType = \"room_created\";\nexport const ChatEventTypeJoinRoom: ChatEventType = \"join_room\";\nexport const ChatEventTypeLeaveRoom: ChatEventType = \"leave_room\";\nexport const ChatEventTypeDeleteRoom: ChatEventType = \"delete_room\";\nexport const ChatEventTypeRoomDeleted: ChatEventType = \"room_deleted\";\nexport const ChatEventTypeUpdateRoom: ChatEventType = \"update_room\";\nexport const ChatEventTypeRoomUpdated: ChatEventType = \"room_updated\";\nexport const ChatEventTypeInviteUser: ChatEventType = \"invite_user\";\nexport const ChatEventTypeUserInvited: ChatEventType = \"user_invited\";\nexport const ChatEventTypeRoomUserJoined: ChatEventType = \"room_user_joined\";\nexport const ChatEventTypeRoomUserLeft: ChatEventType = \"room_user_left\";\nexport const ChatEventTypeUserRemoved: ChatEventType = \"user_removed\";\nexport const ChatEventTypeListRooms: ChatEventType = \"list_rooms\";\nexport const ChatEventTypeRoomsResponse: ChatEventType = \"rooms_response\";\n/**\n * ** collab message events\n */\nexport const ChatEventTypeMessageEdited: ChatEventType = \"message_edited\";\nexport const ChatEventTypeMessageDeleted: ChatEventType = \"message_deleted\";\nexport const ChatEventTypeMessageReaction: ChatEventType = \"message_reaction\";\nexport const ChatEventTypeMessageReply: ChatEventType = \"message_reply\";\nexport const ChatEventTypeMentionUser: ChatEventType = \"mention_user\";\nexport const ChatEventTypeMessageEditedResponse: ChatEventType = \"message_edited_response\";\nexport const ChatEventTypeMessageDeletedResponse: ChatEventType = \"message_deleted_response\";\nexport const ChatEventTypeMessageReactionResponse: ChatEventType = \"message_reaction_response\";\n/**\n * ** collab user presence events\n */\nexport const ChatEventTypeUserPresenceStart: ChatEventType = \"user_presence_start\";\nexport const ChatEventTypeUserPresenceEnd: ChatEventType = \"user_presence_end\";\nexport const ChatEventTypeUserStatusChange: ChatEventType = \"user_status_change\";\nexport const ChatEventTypeUserActivity: ChatEventType = \"user_activity\";\nexport const ChatEventTypeUserPresenceChanged: ChatEventType = \"user_presence_changed\";\nexport const ChatEventTypeUserActivityUpdate: ChatEventType = \"user_activity_update\";\nexport const ChatEventTypeGetOnlineUsers: ChatEventType = \"get_online_users\";\nexport const ChatEventTypeOnlineUsersResponse: ChatEventType = \"online_users\";\n/**\n * ** shop assist events\n */\nexport const ChatEventTypeEndChat: ChatEventType = \"end_chat\";\nexport const ChatEventTypeChatEnded: ChatEventType = \"chat_ended\";\n/**\n * ** agent session events\n */\nexport const ChatEventTypeAgentSessionStart: ChatEventType = \"agent_session_start\";\nexport const ChatEventTypeAgentSessionEnd: ChatEventType = \"agent_session_end\";\nexport const ChatEventTypeAgentStatusChange: ChatEventType = \"agent_status_change\";\nexport const ChatEventTypeAgentActivityPing: ChatEventType = \"agent_activity_ping\";\nexport const ChatEventTypeAgentChatAssigned: ChatEventType = \"agent_chat_assigned\";\nexport const ChatEventTypeAgentChatCompleted: ChatEventType = \"agent_chat_completed\";\n/**\n * ** AI agents retrieval events\n */\nexport const ChatEventTypeGetAgents: ChatEventType = \"get_agents\";\nexport const ChatEventTypeGetAgentsResponse: ChatEventType = \"get_agents_response\";\n/**\n * ** CSAT events\n */\nexport const ChatEventTypeCSATRequest: ChatEventType = \"csat_request\"; // Internal: scheduler requests chat to send CSAT\nexport const ChatEventTypeCSATSurvey: ChatEventType = \"show_csat_survey\";\nexport const ChatEventTypeCSATResponse: ChatEventType = \"csat_response\";\n/**\n * ** User Suggested Actions events\n */\nexport const ChatEventTypeUserSuggestedActions: ChatEventType = \"user_suggested_actions\";\nexport const ChatEventTypeUserSuggestedActionSelected: ChatEventType = \"user_suggested_action_selected\";\n/**\n * ** Summary events\n */\nexport const ChatEventTypeSummaryUpdate: ChatEventType = \"summary_update\";\n/**\n * ** Agent Context events\n */\nexport const ChatEventTypeAgentContextUpdate: ChatEventType = \"agent_context_update\";\nexport const ChatEventTypeAgentExecutionStarted: ChatEventType = \"agent_execution_started\";\nexport const ChatEventTypeAgentExecutionEnded: ChatEventType = \"agent_execution_ended\";\nexport const ChatEventTypeLoadAgentContext: ChatEventType = \"load_agent_context\";\nexport const ChatEventTypeLoadAgentContextResponse: ChatEventType = \"load_agent_context_response\";\n/**\n * ** Plan → Approve → Execute events\n */\nexport const ChatEventTypePlanPendingApproval: ChatEventType = \"plan_pending_approval\";\nexport const ChatEventTypePlanApproved: ChatEventType = \"plan_approved\";\nexport const ChatEventTypePlanRejected: ChatEventType = \"plan_rejected\";\nexport const ChatEventTypePlanCompleted: ChatEventType = \"plan_completed\";\nexport const ChatEventTypeStepStarted: ChatEventType = \"step_started\";\nexport const ChatEventTypeStepCompleted: ChatEventType = \"step_completed\";\nexport const ChatEventTypeStepFailed: ChatEventType = \"step_failed\";\n/**\n * ** New Chat events\n */\nexport const ChatEventTypeNewChat: ChatEventType = \"new_chat\";\nexport const ChatEventTypeNewChatCreated: ChatEventType = \"new_chat_created\";\n/**\n * ** Heartbeat events\n */\nexport const ChatEventTypePing: ChatEventType = \"ping\";\nexport const ChatEventTypePong: ChatEventType = \"pong\";\n/**\n * ** Skill activation events\n */\nexport const ChatEventTypeSkillActivate: ChatEventType = \"skill_activate\";\nexport const ChatEventTypeSkillDeactivate: ChatEventType = \"skill_deactivate\";\nexport const ChatEventTypeSkillsChanged: ChatEventType = \"skills_changed\";\n/**\n * ** Attachment processing events (deferred document processing)\n */\nexport const ChatEventTypeAttachmentProcessingStarted: ChatEventType = \"attachment_processing_started\";\nexport const ChatEventTypeAttachmentProcessingProgress: ChatEventType = \"attachment_processing_progress\";\nexport const ChatEventTypeAttachmentProcessingComplete: ChatEventType = \"attachment_processing_complete\";\nexport const ChatEventTypeAttachmentProcessingError: ChatEventType = \"attachment_processing_error\";\nexport const ChatEventTypeRetryAttachment: ChatEventType = \"retry_attachment\";\nexport type ChatEventTypeTS =\n | \"message\"\n | \"user_joined\"\n | \"user_left\"\n | \"typing\"\n | \"stopped_typing\"\n | \"read\"\n | \"delivered\"\n | \"reconnected\"\n | \"error\"\n | \"message_status_update\"\n | \"load_chat\"\n | \"load_chat_response\"\n | \"waiting\"\n | \"waiting_for_agent\"\n | \"human_agent_joined\"\n | \"end_chat\"\n | \"chat_ended\"\n | \"human_agent_left\"\n | \"observer_joined\"\n | \"observer_left\"\n | \"list_chats\"\n | \"chat_updated\"\n | \"chat_removed\"\n | \"sync_metadata\"\n | \"sync_metadata_response\"\n | \"sync_user_session\"\n | \"sync_user_session_response\"\n | \"agent_session_start\"\n | \"agent_session_end\"\n | \"agent_status_change\"\n | \"agent_activity_ping\"\n | \"agent_chat_assigned\"\n | \"agent_chat_completed\"\n | \"client_action\"\n | \"client_action_callback\"\n | \"show_csat_survey\"\n | \"csat_response\"\n | \"user_suggested_actions\"\n | \"user_suggested_action_selected\"\n | \"summary_update\"\n | \"agent_context_update\"\n | \"agent_execution_started\"\n | \"agent_execution_ended\"\n | \"load_agent_context\"\n | \"load_agent_context_response\"\n | \"plan_pending_approval\"\n | \"plan_approved\"\n | \"plan_rejected\"\n | \"plan_completed\"\n | \"step_started\"\n | \"step_completed\"\n | \"step_failed\"\n | \"new_chat\"\n | \"new_chat_created\"\n | \"block_user\"\n | \"ping\"\n | \"pong\"\n | \"create_room\"\n | \"room_created\"\n | \"join_room\"\n | \"leave_room\"\n | \"delete_room\"\n | \"room_deleted\"\n | \"update_room\"\n | \"room_updated\"\n | \"invite_user\"\n | \"user_invited\"\n | \"room_user_joined\"\n | \"room_user_left\"\n | \"user_removed\"\n | \"list_rooms\"\n | \"rooms_response\"\n | \"message_edited\"\n | \"message_deleted\"\n | \"message_reaction\"\n | \"message_reply\"\n | \"mention_user\"\n | \"message_edited_response\"\n | \"message_deleted_response\"\n | \"message_reaction_response\"\n | \"user_presence_start\"\n | \"user_presence_end\"\n | \"user_status_change\"\n | \"user_activity\"\n | \"user_presence_changed\"\n | \"user_activity_update\"\n | \"get_online_users\"\n | \"online_users\"\n | \"get_agents\"\n | \"get_agents_response\"\n | \"skill_activate\"\n | \"skill_deactivate\"\n | \"skills_changed\"\n | \"attachment_processing_started\"\n | \"attachment_processing_progress\"\n | \"attachment_processing_complete\"\n | \"attachment_processing_error\"\n | \"retry_attachment\";\nexport type MessageStatus = string;\nexport const MessageStatusSending: MessageStatus = \"sending\";\nexport const MessageStatusSent: MessageStatus = \"sent\";\nexport const MessageStatusDelivered: MessageStatus = \"delivered\";\nexport const MessageStatusRead: MessageStatus = \"read\";\nexport const MessageStatusFailed: MessageStatus = \"failed\";\nexport type MessageStatusTS =\n | \"sending\"\n | \"sent\"\n | \"delivered\"\n | \"read\"\n | \"failed\";\n/**\n * EmojiReaction represents an emoji reaction to a message\n */\nexport interface EmojiReaction {\n emoji: string;\n count: number /* int */;\n users?: string[]; // List of user IDs who reacted\n}\n/**\n * Location represents geographical coordinates\n */\nexport interface Location {\n latitude: number /* float64 */;\n longitude: number /* float64 */;\n address?: string;\n}\n/**\n * AttachmentFile represents a file within an attachment\n */\nexport interface AttachmentFile {\n type: string;\n url: string;\n thumbnailUrl?: string;\n name?: string;\n size?: number /* int64 */;\n}\nexport type AttachmentType = string;\n/**\n * Attachment types for both user and system attachments\n */\nexport const AttachmentTypeDocument: AttachmentType = \"document\";\nexport const AttachmentTypeDocumentAnalysis: AttachmentType = \"document_analysis\";\nexport const AttachmentTypeImage: AttachmentType = \"image\";\nexport const AttachmentTypeAudio: AttachmentType = \"audio\";\nexport const AttachmentTypeVideo: AttachmentType = \"video\";\nexport const AttachmentTypeLocation: AttachmentType = \"location\";\nexport const AttachmentTypeReferences: AttachmentType = \"references\";\nexport const AttachmentTypeSubsections: AttachmentType = \"subsections\";\nexport const AttachmentTypeArticles: AttachmentType = \"articles\";\nexport const AttachmentTypeRecords: AttachmentType = \"records\";\nexport const AttachmentTypeActions: AttachmentType = \"actions\";\nexport const AttachmentTypeBullets: AttachmentType = \"bullets\";\nexport const AttachmentTypeSticker: AttachmentType = \"sticker\";\nexport const AttachmentTypeData: AttachmentType = \"data\";\nexport const AttachmentTypeKGNodes: AttachmentType = \"kgNodes\";\nexport const AttachmentTypeDocumentSources: AttachmentType = \"document_sources\";\nexport const AttachmentTypeSpreadsheet: AttachmentType = \"spreadsheet\"; // Excel, CSV files\nexport const AttachmentTypeDataFile: AttachmentType = \"data_file\"; // JSON, XML, YAML files\n\nexport type AttachmentTypeTS =\n | \"document\"\n | \"document_analysis\"\n | \"image\"\n | \"audio\"\n | \"video\"\n | \"location\"\n | \"references\"\n | \"subsections\"\n | \"articles\"\n | \"records\"\n | \"actions\"\n | \"bullets\"\n | \"sticker\"\n | \"data\"\n | \"kgNodes\"\n | \"document_sources\"\n | \"spreadsheet\"\n | \"data_file\";\n\n/**\n * DocumentSource represents an aggregated document source with page references\n * Used to display source cards in chat responses after document search\n */\nexport interface DocumentSource {\n doc_id: string;\n title: string;\n url: string;\n page_numbers: number /* int */[];\n reference_count: number /* int */;\n bounding_regions?: any /* docs.BoundingRegion */[];\n page_infos?: any /* docs.PageInfo */[]; // Page dimensions for coordinate scaling\n}\n/**\n * Attachment represents any type of attachment to a message\n */\nexport interface Attachment {\n type: AttachmentTypeTS;\n documentAnalysis?: DocumentAnalysisResult;\n title?: string;\n url: string;\n files?: AttachmentFile[]; // Associated files\n location?: Location; // Location data if applicable\n data?: { [key: string]: Variable};\n kgNodes?: KGNode[];\n actions?: Action[];\n documentSources?: DocumentSource[];\n /**\n * Smart document processing fields\n */\n fileMetadata?: any /* docs.AttachmentFileMetadata */; // Client-side extracted file metadata\n processing?: any /* docs.ProcessingResult */; // Smart processing result\n}\nexport interface Action {\n id: string;\n title: string;\n icon?: string;\n description?: string;\n onAction?: () => void;\n}\n/**\n * ChatMessage represents the core message structure\n */\nexport interface ChatMessage {\n /**\n * Core fields\n */\n id: string;\n role: ChatRoleTS;\n content: string;\n time: number /* int64 */;\n status: MessageStatusTS;\n /**\n * Sender information\n */\n senderId: string;\n senderName?: string;\n /**\n * Timing\n */\n createdAt: number /* int64 */;\n updatedAt?: number /* int64 */;\n /**\n * Message relations\n */\n replyTo?: string;\n threadId?: string;\n mentions?: string[];\n /**\n * Attachments and reactions\n */\n attachments?: Attachment[];\n reactions?: EmojiReaction[];\n /**\n * Additional data\n */\n variables?: { [key: string]: Variable};\n /**\n * Tool call\n */\n name?: string;\n toolCallId?: string;\n toolCalls?: ToolCall[];\n /**\n * LLM usage\n */\n llmUsage?: LLMUsage;\n}\nexport interface ChatEvent {\n type: ChatEventTypeTS;\n orgId: string;\n chatKey: string;\n userId: string;\n timestamp: number /* int64 */;\n data?: { [key: string]: any};\n message?: ChatMessage;\n}\nexport interface ChatGrading {\n chatKey: string;\n grade: number /* int */;\n topic: string;\n summary: string;\n}\nexport interface ChatSession {\n id: string;\n status: ChatSessionStatus;\n user?: ChatUser;\n activeChatKey?: string;\n preferences?: ChatSessionPreferences;\n lastActivity: number /* int64 */;\n expiresAt: number /* int64 */;\n metadata?: { [key: string]: any};\n}\nexport type ChatSessionStatus = string;\nexport const ChatSessionStatusActive: ChatSessionStatus = \"active\";\nexport const ChatSessionStatusIdle: ChatSessionStatus = \"idle\";\nexport const ChatSessionStatusExpired: ChatSessionStatus = \"expired\";\nexport interface ChatSessionPreferences {\n language: string;\n theme: string;\n notifications: boolean;\n timeZone: string;\n messageDisplay: string; // compact/expanded\n autoTranslate: boolean;\n rateLimits?: ChatRateLimits;\n}\nexport interface ChatRateLimits {\n maxMessagesPerMinute: number /* int */;\n maxTokensPerDay: number /* int */;\n cooldownPeriod: number /* int */; // seconds\n}\n/**\n * ==========================\n * todo: move to common/llm\n */\nexport interface LLMConfig {\n Provider: string;\n Model: string;\n Temperature: number /* float64 */;\n MaxTokens: number /* int */;\n SystemPrompt: string;\n Tools: LLMTool[];\n Memory?: LLMMemoryConfig;\n}\nexport interface LLMMemoryConfig {\n MaxMessages: number /* int */;\n IncludeSystem: boolean;\n WindowSize: number /* int */; // Token window size\n Strategy: string; // e.g., \"sliding\", \"summarize\"\n}\nexport interface LLMTool {\n Name: string;\n Type: string;\n Function: LLMFunction;\n}\nexport interface LLMFunction {\n Name: string;\n Description: string;\n Parameters: any /* types.JSONSchema */;\n}\nexport interface ToolCall {\n Name: string;\n Arguments: { [key: string]: any};\n ID: string;\n Description: string;\n}\nexport interface LLMResponse {\n Content: string;\n ToolCalls: ToolCall[];\n Usage?: LLMUsage;\n ResponseId: string; // OpenAI Responses API - the response ID for conversation continuity\n}\nexport interface LLMUsage {\n inputTokens: number /* int64 */;\n outputTokens: number /* int64 */;\n totalTokens: number /* int64 */;\n}\n/**\n * ChatSummary represents lightweight chat information for caching and listing\n */\nexport interface ChatSummary {\n chatKey: string;\n title: string;\n userId?: string;\n status: ChatStatus;\n lastUpdated: number /* int64 */;\n waitingSince?: number /* int64 */; // Only populated for waiting chats\n pinned?: boolean;\n metadata?: { [key: string]: any};\n}\nexport interface GetChatRequest {\n orgId: string;\n chatKey: string;\n}\nexport interface GetChatResponse {\n chat?: Chat;\n metadata: ResponseMetadata;\n}\nexport interface ChatProductReference {\n id: string;\n title: string;\n price: number /* float64 */;\n image?: string;\n url?: string;\n}\n/**\n * Chat Archival Models\n */\nexport interface ChatArchivalRequest {\n orgId: string;\n chatKey: string;\n chat: Chat;\n}\nexport interface ChatArchivalResponse {\n success: boolean;\n error?: string;\n message?: string;\n}\n/**\n * Agent Session Request/Response Models\n */\nexport interface StartAgentSessionRequest {\n orgId: string;\n agentId: string;\n userAgent?: string;\n ipAddress?: string;\n}\nexport interface StartAgentSessionResponse {\n metadata: ResponseMetadata;\n}\nexport interface EndAgentSessionRequest {\n orgId: string;\n agentId: string;\n}\nexport interface EndAgentSessionResponse {\n metadata: ResponseMetadata;\n}\nexport interface UpdateAgentStatusRequest {\n orgId: string;\n agentId: string;\n status: AgentStatusTS;\n}\nexport interface UpdateAgentStatusResponse {\n metadata: ResponseMetadata;\n}\nexport interface UpdateAgentLastActivityRequest {\n orgId: string;\n agentId: string;\n}\nexport interface UpdateAgentLastActivityResponse {\n metadata: ResponseMetadata;\n}\nexport interface AssignChatToAgentRequest {\n orgId: string;\n agentId: string;\n chatKey: string;\n}\nexport interface AssignChatToAgentResponse {\n metadata: ResponseMetadata;\n}\nexport interface CompleteChatByAgentRequest {\n orgId: string;\n agentId: string;\n chatKey: string;\n}\nexport interface CompleteChatByAgentResponse {\n metadata: ResponseMetadata;\n}\nexport interface GetAgentSessionRequest {\n orgId: string;\n agentId: string;\n}\nexport interface GetAgentSessionResponse {\n session?: AgentSession;\n metadata: ResponseMetadata;\n}\nexport interface GetOnlineAgentsRequest {\n orgId: string;\n}\nexport interface GetOnlineAgentsResponse {\n sessions: AgentSession[];\n metadata: ResponseMetadata;\n}\nexport interface GetOnlineAgentCountRequest {\n orgId: string;\n}\nexport interface GetOnlineAgentCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\n/**\n * Queue-specific chat request/response types\n */\nexport interface GetQueueChatsRequest {\n orgId: string;\n queueId: string;\n}\nexport interface GetQueueChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\nexport interface GetQueueChatCountRequest {\n orgId: string;\n queueId: string;\n}\nexport interface GetQueueChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport type UserStatusTS = 'online' | 'away' | 'busy' | 'offline';\nexport type UserStatus = string;\nexport const UserStatusOnline: UserStatus = \"online\";\nexport const UserStatusAway: UserStatus = \"away\";\nexport const UserStatusBusy: UserStatus = \"busy\";\nexport const UserStatusOffline: UserStatus = \"offline\";\n/**\n * UserSession for tracking online users\n */\nexport interface UserSession {\n orgId: string;\n userId: string;\n userName: string;\n status: UserStatusTS;\n onlineSince: number /* int64 */;\n lastActivity: number /* int64 */;\n}\n/**\n * User status update requests\n */\nexport interface UpdateUserStatusRequest {\n orgId: string;\n userId: string;\n status: UserStatusTS;\n}\nexport interface UpdateUserStatusResponse {\n metadata: ResponseMetadata;\n}\n/**\n * Get online users\n */\nexport interface GetOnlineUsersRequest {\n orgId: string;\n}\nexport interface GetOnlineUsersResponse {\n metadata: ResponseMetadata;\n users: UserSession[];\n}\n/**\n * Analytics Trigger Models\n */\nexport interface TriggerAnalyticsScanRequest {\n org_id?: string; // Optional: if empty, scans all orgs\n}\nexport interface TriggerAnalyticsScanResponse {\n metadata: ResponseMetadata;\n chats_archived: number /* int */;\n}\n/**\n * AttachmentProcessingStartedData is sent when attachment processing begins\n */\nexport interface AttachmentProcessingStartedData {\n attachmentId: string;\n fileName: string;\n strategy: string;\n}\n/**\n * AttachmentProcessingProgressData is sent during attachment processing\n */\nexport interface AttachmentProcessingProgressData {\n attachmentId: string;\n percent: number /* int */;\n stage: string;\n message: string;\n}\n/**\n * AttachmentProcessingCompleteData is sent when attachment processing completes\n */\nexport interface AttachmentProcessingCompleteData {\n attachmentId: string;\n result?: any /* docs.ProcessingResult */;\n}\n/**\n * AttachmentProcessingErrorData is sent when attachment processing fails\n */\nexport interface AttachmentProcessingErrorData {\n attachmentId: string;\n error: string;\n retryable: boolean;\n}\n/**\n * RetryAttachmentData is sent by frontend to retry a failed attachment\n */\nexport interface RetryAttachmentData {\n attachmentId: string;\n}\n\n//////////\n// source: chat-stats-models.go\n\n/**\n * Active chat requests/responses\n */\nexport interface GetActiveChatCountRequest {\n orgId: string;\n}\nexport interface GetActiveChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport interface GetActiveChatsRequest {\n orgId: string;\n pastHours?: number /* float64 */; // 0 means all, 0.5 means past 30 min, 1 means past hour, etc.\n}\nexport interface GetActiveChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n/**\n * Waiting for agent requests/responses\n */\nexport interface GetWaitingForAgentChatCountRequest {\n orgId: string;\n}\nexport interface GetWaitingForAgentChatCountResponse {\n count: number /* int */;\n metadata: ResponseMetadata;\n}\nexport interface GetWaitingForAgentChatsRequest {\n orgId: string;\n}\nexport interface GetWaitingForAgentChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n/**\n * User chats requests/responses\n */\nexport interface GetUserChatsRequest {\n orgId: string;\n userId: string;\n limit?: number /* int */; // Number of chats to return (default 15)\n offset?: number /* int */; // Number of chats to skip (for pagination)\n}\nexport interface GetUserChatsResponse {\n chats: ChatSummary[];\n total: number /* int */; // Total number of chats for this user\n hasMore: boolean; // Whether there are more chats to load\n metadata: ResponseMetadata;\n}\n/**\n * Daily counter requests/responses\n */\nexport interface GetDailyChatCountRequest {\n orgId: string;\n date: string /* RFC3339 */;\n timezone: string;\n}\nexport interface GetDailyChatCountResponse {\n count: number /* int64 */;\n date: string;\n timezone: string;\n metadata: any /* types.ResponseMetadata */;\n}\n\n//////////\n// source: queue-models.go\n\n\n// Queue types\nexport const QueueTypes = {\n skill: { value: 'skill', label: 'Skill-based', description: 'Route by agent expertise and skills' },\n priority: { value: 'priority', label: 'Priority-based', description: 'Route by customer tier and urgency level' },\n department: { value: 'department', label: 'Department-based', description: 'Route by business function alignment' },\n complexity: { value: 'complexity', label: 'Complexity-based', description: 'Route by issue difficulty assessment' },\n} as const;\n\nexport type QueueTypeTS = keyof typeof QueueTypes;\nexport type QueueTypeOptionTS = typeof QueueTypes[QueueTypeTS];\n\n/**\n * QueueType represents the routing algorithm type\n */\nexport type QueueType = string;\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeSkill: QueueType = \"skill\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypePriority: QueueType = \"priority\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeDepartment: QueueType = \"department\";\n/**\n * Queue Type Constants - These are hardcoded routing algorithms, not admin-configurable\n */\nexport const QueueTypeComplexity: QueueType = \"complexity\";\n/**\n * AgentQueue represents an individual queue within a queue type\n */\nexport interface AgentQueue {\n id: string /* uuid */;\n orgId: string;\n type: QueueTypeTS; // \"skill\", \"priority\", etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case for metadata matching)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable display name)\n description: string;\n agentIds: string[]; // Agents assigned to this queue\n config: { [key: string]: any}; // Extensible configuration\n isActive: boolean;\n isDefault: boolean; // Default queue for unmatched chats\n createdAt: string /* RFC3339 */;\n updatedAt: string /* RFC3339 */;\n createdBy?: string;\n updatedBy?: string;\n}\n/**\n * GetAgentQueuesFilter represents filtering options for agent queues\n */\nexport interface GetAgentQueuesFilter {\n type?: QueueType;\n isActive?: boolean;\n}\n/**\n * Agent Queue Operations\n */\nexport interface CreateAgentQueueRequest {\n orgId: string;\n type: QueueType; // QueueTypeSkill, QueueTypePriority, etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable)\n description: string;\n agentIds?: string[];\n config?: { [key: string]: any};\n isDefault?: boolean;\n createdBy?: string;\n updatedBy?: string;\n}\nexport interface CreateAgentQueueResponse {\n queue?: AgentQueue;\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface GetAgentQueuesRequest {\n orgId: string;\n type?: QueueType; // Filter by queue type\n isActive?: boolean; // Filter by active status\n}\nexport interface GetAgentQueuesResponse {\n queues: (AgentQueue | undefined)[];\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface UpdateAgentQueueRequest {\n orgId: string;\n id: string;\n type: QueueType; // QueueTypeSkill, QueueTypePriority, etc.\n name: string; // 'technical_support', 'sales', etc. (snake_case)\n title: string; // 'Technical Support', 'Sales', etc. (human-readable)\n description: string;\n agentIds?: string[];\n config?: { [key: string]: any};\n isDefault?: boolean;\n updatedBy?: string;\n}\nexport interface UpdateAgentQueueResponse {\n queue?: AgentQueue;\n metadata: any /* types.ResponseMetadata */;\n}\nexport interface DeleteAgentQueueRequest {\n orgId: string;\n id: string;\n}\nexport interface DeleteAgentQueueResponse {\n metadata: any /* types.ResponseMetadata */;\n}\n/**\n * ChatQueueInfo extends Chat with queue routing information\n */\nexport interface ChatQueueInfo {\n recommendedQueueId?: string /* uuid */;\n recommendedQueueName?: string;\n assignedQueueId?: string /* uuid */;\n assignedQueueName?: string;\n}\n\n//////////\n// source: subjects.go\n\nexport const GetWaitingForAgentChatCountSubject = \"chat.get_waiting_for_agent_chat_count\";\nexport const GetActiveChatCountSubject = \"chat.get_active_chat_count\";\nexport const GetWaitingForAgentChatsSubject = \"chat.get_waiting_for_agent_chats\";\nexport const GetActiveChatsSubject = \"chat.get_active_chats\";\nexport const GetUserChatsSubject = \"chat.get_user_chats\";\nexport const GetChatSubject = \"chat.get_chat\";\n/**\n * Chat Archival Subjects\n */\nexport const ChatArchiveSubjectPattern = \"chat.archive.%s.server\"; // %s = channel/product (e.g., shop-assist, gov-services)\n/**\n * Agent Session Subjects\n */\nexport const StartAgentSessionSubject = \"chat.agent_session.start\";\nexport const EndAgentSessionSubject = \"chat.agent_session.end\";\nexport const UpdateAgentStatusSubject = \"chat.agent_session.update_status\";\nexport const UpdateAgentLastActivitySubject = \"chat.agent_session.update_last_activity\";\nexport const AssignChatToAgentSubject = \"chat.agent_session.assign_chat\";\nexport const CompleteChatByAgentSubject = \"chat.agent_session.complete_chat\";\nexport const GetAgentSessionSubject = \"chat.agent_session.get\";\nexport const GetOnlineAgentsSubject = \"chat.agent_session.get_online_agents\";\nexport const GetOnlineAgentCountSubject = \"chat.agent_session.get_online_agent_count\";\n/**\n * Queue Management Subjects\n */\nexport const CreateAgentQueueSubject = \"chat.agent_queue.create\";\nexport const GetAgentQueuesSubject = \"chat.agent_queue.get\";\nexport const UpdateAgentQueueSubject = \"chat.agent_queue.update\";\nexport const DeleteAgentQueueSubject = \"chat.agent_queue.delete\";\n/**\n * Queue-specific Chat Subjects\n */\nexport const GetQueueChatsSubject = \"chat.queue.get_chats\";\nexport const GetQueueChatCountSubject = \"chat.queue.get_chat_count\";\n/**\n * Daily Counter Subjects\n */\nexport const GetDailyChatCountSubject = \"chat.get_daily_chat_count\";\n/**\n * User Status Subjects\n */\nexport const UpdateUserStatusSubject = \"chat.user.status.update\";\nexport const GetOnlineUsersSubject = \"chat.users.online.get\";\n/**\n * Analytics Trigger Subjects\n */\nexport const TriggerAnalyticsScanSubject = \"chat.analytics.trigger-scan\";\n/**\n * Org Setup Subject\n */\nexport const SetupOrgSubject = \"chat.org.setup\";\n"],"mappings":"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","names":[]}