@egain/ai-agent-sdk 0.1.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 (164) hide show
  1. package/README.md +295 -0
  2. package/dist/browser.js +22739 -0
  3. package/dist/core/AiAgent.d.ts +1126 -0
  4. package/dist/core/AiAgent.d.ts.map +1 -0
  5. package/dist/core/AiAgent.js +2037 -0
  6. package/dist/core/AiAgent.js.map +1 -0
  7. package/dist/core/api/ApiHelper.d.ts +433 -0
  8. package/dist/core/api/ApiHelper.d.ts.map +1 -0
  9. package/dist/core/api/ApiHelper.js +689 -0
  10. package/dist/core/api/ApiHelper.js.map +1 -0
  11. package/dist/core/api/CacheAdapter.d.ts +295 -0
  12. package/dist/core/api/CacheAdapter.d.ts.map +1 -0
  13. package/dist/core/api/CacheAdapter.js +298 -0
  14. package/dist/core/api/CacheAdapter.js.map +1 -0
  15. package/dist/core/auth/AnonymousAuthStrategy.d.ts +87 -0
  16. package/dist/core/auth/AnonymousAuthStrategy.d.ts.map +1 -0
  17. package/dist/core/auth/AnonymousAuthStrategy.js +257 -0
  18. package/dist/core/auth/AnonymousAuthStrategy.js.map +1 -0
  19. package/dist/core/auth/AuthProvider.d.ts +13 -0
  20. package/dist/core/auth/AuthProvider.d.ts.map +1 -0
  21. package/dist/core/auth/AuthProvider.js +2 -0
  22. package/dist/core/auth/AuthProvider.js.map +1 -0
  23. package/dist/core/auth/AuthStrategy.d.ts +74 -0
  24. package/dist/core/auth/AuthStrategy.d.ts.map +1 -0
  25. package/dist/core/auth/AuthStrategy.js +2 -0
  26. package/dist/core/auth/AuthStrategy.js.map +1 -0
  27. package/dist/core/auth/AuthenticationService.d.ts +226 -0
  28. package/dist/core/auth/AuthenticationService.d.ts.map +1 -0
  29. package/dist/core/auth/AuthenticationService.js +344 -0
  30. package/dist/core/auth/AuthenticationService.js.map +1 -0
  31. package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts +62 -0
  32. package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts.map +1 -0
  33. package/dist/core/auth/ClientCredentialsAuthStrategy.js +78 -0
  34. package/dist/core/auth/ClientCredentialsAuthStrategy.js.map +1 -0
  35. package/dist/core/auth/PKCEAuthStrategy.d.ts +136 -0
  36. package/dist/core/auth/PKCEAuthStrategy.d.ts.map +1 -0
  37. package/dist/core/auth/PKCEAuthStrategy.js +409 -0
  38. package/dist/core/auth/PKCEAuthStrategy.js.map +1 -0
  39. package/dist/core/auth/PreAuthStrategy.d.ts +101 -0
  40. package/dist/core/auth/PreAuthStrategy.d.ts.map +1 -0
  41. package/dist/core/auth/PreAuthStrategy.js +216 -0
  42. package/dist/core/auth/PreAuthStrategy.js.map +1 -0
  43. package/dist/core/auth/msal-browser.js +19683 -0
  44. package/dist/core/auth/msal-loader.d.ts +14 -0
  45. package/dist/core/auth/msal-loader.d.ts.map +1 -0
  46. package/dist/core/auth/msal-loader.js +43 -0
  47. package/dist/core/auth/msal-loader.js.map +1 -0
  48. package/dist/core/connection/Connection.d.ts +168 -0
  49. package/dist/core/connection/Connection.d.ts.map +1 -0
  50. package/dist/core/connection/Connection.js +290 -0
  51. package/dist/core/connection/Connection.js.map +1 -0
  52. package/dist/core/connection/ConnectionState.d.ts +11 -0
  53. package/dist/core/connection/ConnectionState.d.ts.map +1 -0
  54. package/dist/core/connection/ConnectionState.js +12 -0
  55. package/dist/core/connection/ConnectionState.js.map +1 -0
  56. package/dist/core/connection/Transport.d.ts +98 -0
  57. package/dist/core/connection/Transport.d.ts.map +1 -0
  58. package/dist/core/connection/Transport.js +27 -0
  59. package/dist/core/connection/Transport.js.map +1 -0
  60. package/dist/core/connection/WebSocketTransport.d.ts +65 -0
  61. package/dist/core/connection/WebSocketTransport.d.ts.map +1 -0
  62. package/dist/core/connection/WebSocketTransport.js +177 -0
  63. package/dist/core/connection/WebSocketTransport.js.map +1 -0
  64. package/dist/core/errors/SDKError.d.ts +27 -0
  65. package/dist/core/errors/SDKError.d.ts.map +1 -0
  66. package/dist/core/errors/SDKError.js +43 -0
  67. package/dist/core/errors/SDKError.js.map +1 -0
  68. package/dist/core/events/EventEmitter.d.ts +120 -0
  69. package/dist/core/events/EventEmitter.d.ts.map +1 -0
  70. package/dist/core/events/EventEmitter.js +183 -0
  71. package/dist/core/events/EventEmitter.js.map +1 -0
  72. package/dist/core/logging/LogLevel.d.ts +33 -0
  73. package/dist/core/logging/LogLevel.d.ts.map +1 -0
  74. package/dist/core/logging/LogLevel.js +40 -0
  75. package/dist/core/logging/LogLevel.js.map +1 -0
  76. package/dist/core/logging/Logger.d.ts +120 -0
  77. package/dist/core/logging/Logger.d.ts.map +1 -0
  78. package/dist/core/logging/Logger.js +204 -0
  79. package/dist/core/logging/Logger.js.map +1 -0
  80. package/dist/core/logging/globalLogger.d.ts +8 -0
  81. package/dist/core/logging/globalLogger.d.ts.map +1 -0
  82. package/dist/core/logging/globalLogger.js +12 -0
  83. package/dist/core/logging/globalLogger.js.map +1 -0
  84. package/dist/core/logging/types.d.ts +45 -0
  85. package/dist/core/logging/types.d.ts.map +1 -0
  86. package/dist/core/logging/types.js +2 -0
  87. package/dist/core/logging/types.js.map +1 -0
  88. package/dist/core/message/BaseMessageHandler.d.ts +208 -0
  89. package/dist/core/message/BaseMessageHandler.d.ts.map +1 -0
  90. package/dist/core/message/BaseMessageHandler.js +155 -0
  91. package/dist/core/message/BaseMessageHandler.js.map +1 -0
  92. package/dist/core/message/Message.d.ts +69 -0
  93. package/dist/core/message/Message.d.ts.map +1 -0
  94. package/dist/core/message/Message.js +131 -0
  95. package/dist/core/message/Message.js.map +1 -0
  96. package/dist/core/message/MessageProcessor.d.ts +51 -0
  97. package/dist/core/message/MessageProcessor.d.ts.map +1 -0
  98. package/dist/core/message/MessageProcessor.js +123 -0
  99. package/dist/core/message/MessageProcessor.js.map +1 -0
  100. package/dist/core/message/MessageTypes.d.ts +123 -0
  101. package/dist/core/message/MessageTypes.d.ts.map +1 -0
  102. package/dist/core/message/MessageTypes.js +106 -0
  103. package/dist/core/message/MessageTypes.js.map +1 -0
  104. package/dist/core/message/Transcript.d.ts +373 -0
  105. package/dist/core/message/Transcript.d.ts.map +1 -0
  106. package/dist/core/message/Transcript.js +355 -0
  107. package/dist/core/message/Transcript.js.map +1 -0
  108. package/dist/core/message/handlers/AgentMessageHandler.d.ts +26 -0
  109. package/dist/core/message/handlers/AgentMessageHandler.d.ts.map +1 -0
  110. package/dist/core/message/handlers/AgentMessageHandler.js +130 -0
  111. package/dist/core/message/handlers/AgentMessageHandler.js.map +1 -0
  112. package/dist/core/message/handlers/ChatHistoryHandler.d.ts +12 -0
  113. package/dist/core/message/handlers/ChatHistoryHandler.d.ts.map +1 -0
  114. package/dist/core/message/handlers/ChatHistoryHandler.js +49 -0
  115. package/dist/core/message/handlers/ChatHistoryHandler.js.map +1 -0
  116. package/dist/core/message/handlers/ErrorMessageHandler.d.ts +12 -0
  117. package/dist/core/message/handlers/ErrorMessageHandler.d.ts.map +1 -0
  118. package/dist/core/message/handlers/ErrorMessageHandler.js +49 -0
  119. package/dist/core/message/handlers/ErrorMessageHandler.js.map +1 -0
  120. package/dist/core/message/handlers/HeartbeatHandler.d.ts +12 -0
  121. package/dist/core/message/handlers/HeartbeatHandler.d.ts.map +1 -0
  122. package/dist/core/message/handlers/HeartbeatHandler.js +46 -0
  123. package/dist/core/message/handlers/HeartbeatHandler.js.map +1 -0
  124. package/dist/core/message/handlers/TokenRefreshHandler.d.ts +30 -0
  125. package/dist/core/message/handlers/TokenRefreshHandler.d.ts.map +1 -0
  126. package/dist/core/message/handlers/TokenRefreshHandler.js +84 -0
  127. package/dist/core/message/handlers/TokenRefreshHandler.js.map +1 -0
  128. package/dist/core/message/types.d.ts +107 -0
  129. package/dist/core/message/types.d.ts.map +1 -0
  130. package/dist/core/message/types.js +30 -0
  131. package/dist/core/message/types.js.map +1 -0
  132. package/dist/core/platform/HookContract.d.ts +112 -0
  133. package/dist/core/platform/HookContract.d.ts.map +1 -0
  134. package/dist/core/platform/HookContract.js +13 -0
  135. package/dist/core/platform/HookContract.js.map +1 -0
  136. package/dist/core/platform/PlatformComponentService.d.ts +40 -0
  137. package/dist/core/platform/PlatformComponentService.d.ts.map +1 -0
  138. package/dist/core/platform/PlatformComponentService.js +12 -0
  139. package/dist/core/platform/PlatformComponentService.js.map +1 -0
  140. package/dist/core/platform/PlatformScriptLoader.d.ts +41 -0
  141. package/dist/core/platform/PlatformScriptLoader.d.ts.map +1 -0
  142. package/dist/core/platform/PlatformScriptLoader.js +110 -0
  143. package/dist/core/platform/PlatformScriptLoader.js.map +1 -0
  144. package/dist/core/polyfills.d.ts +16 -0
  145. package/dist/core/polyfills.d.ts.map +1 -0
  146. package/dist/core/polyfills.js +168 -0
  147. package/dist/core/polyfills.js.map +1 -0
  148. package/dist/core/portal-initializer/PortalInitializer.d.ts +234 -0
  149. package/dist/core/portal-initializer/PortalInitializer.d.ts.map +1 -0
  150. package/dist/core/portal-initializer/PortalInitializer.js +636 -0
  151. package/dist/core/portal-initializer/PortalInitializer.js.map +1 -0
  152. package/dist/core/queue/MessageQueue.d.ts +277 -0
  153. package/dist/core/queue/MessageQueue.d.ts.map +1 -0
  154. package/dist/core/queue/MessageQueue.js +291 -0
  155. package/dist/core/queue/MessageQueue.js.map +1 -0
  156. package/dist/core/types/PortalTypes.d.ts +51 -0
  157. package/dist/core/types/PortalTypes.d.ts.map +1 -0
  158. package/dist/core/types/PortalTypes.js +8 -0
  159. package/dist/core/types/PortalTypes.js.map +1 -0
  160. package/dist/index.d.ts +91 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +82 -0
  163. package/dist/index.js.map +1 -0
  164. package/package.json +84 -0
@@ -0,0 +1,123 @@
1
+ import { BaseMessageHandler } from './BaseMessageHandler.js';
2
+ import { AgentMessageHandler } from './handlers/AgentMessageHandler.js';
3
+ import { ChatHistoryHandler } from './handlers/ChatHistoryHandler.js';
4
+ import { TokenRefreshHandler } from './handlers/TokenRefreshHandler.js';
5
+ import { HeartbeatHandler } from './handlers/HeartbeatHandler.js';
6
+ import { ErrorMessageHandler } from './handlers/ErrorMessageHandler.js';
7
+ import { globalLogger } from '../logging/globalLogger.js';
8
+ /**
9
+ * MessageProcessor class that routes messages to appropriate handlers
10
+ * Uses a handler registry pattern where handlers are checked in priority order
11
+ */
12
+ export class MessageProcessor {
13
+ /**
14
+ * Create a new MessageProcessor instance
15
+ * Registers default handlers
16
+ */
17
+ constructor(logger) {
18
+ this.handlers = [];
19
+ this.logger = logger ?? globalLogger;
20
+ this.registerDefaultHandlers();
21
+ }
22
+ /**
23
+ * Register default handlers in priority order
24
+ * More specific handlers should come first (lower index = higher priority)
25
+ * The first handler that can process a message wins
26
+ */
27
+ registerDefaultHandlers() {
28
+ // Order matters - more specific handlers should come first
29
+ // TokenRefreshHandler has highest priority as it handles critical auth issues
30
+ // ErrorMessageHandler should come before AgentMessageHandler to catch errors early
31
+ this.handlers = [
32
+ new TokenRefreshHandler(),
33
+ new ErrorMessageHandler(),
34
+ new ChatHistoryHandler(),
35
+ new AgentMessageHandler(),
36
+ new HeartbeatHandler(),
37
+ ];
38
+ }
39
+ /**
40
+ * Process an incoming message
41
+ * Routes the message to the first handler that can process it
42
+ * @param message - The incoming message
43
+ * @returns Processing result or null if no handler matched
44
+ */
45
+ async process(message) {
46
+ this.logger.debug('Processing message', {
47
+ messageId: message.messageId,
48
+ persona: message.persona,
49
+ role: message.role
50
+ });
51
+ for (const handler of this.handlers) {
52
+ if (handler.canHandle(message)) {
53
+ this.logger.debug('Handler matched', {
54
+ messageId: message.messageId,
55
+ handlerName: handler.constructor.name
56
+ });
57
+ const result = handler.handle(message);
58
+ const resolvedResult = result instanceof Promise ? await result : result;
59
+ if (resolvedResult) {
60
+ this.logger.debug('Message processed successfully', {
61
+ messageId: message.messageId,
62
+ resultType: resolvedResult.type
63
+ });
64
+ }
65
+ return resolvedResult;
66
+ }
67
+ }
68
+ // No handler matched
69
+ this.logger.warn('No handler matched message', {
70
+ messageId: message.messageId,
71
+ persona: message.persona,
72
+ role: message.role
73
+ });
74
+ return null;
75
+ }
76
+ /**
77
+ * Add a custom handler
78
+ * @param handler - Handler instance
79
+ * @param priority - Position to insert (lower = higher priority, default: end of list)
80
+ */
81
+ addHandler(handler, priority) {
82
+ if (!(handler instanceof BaseMessageHandler)) {
83
+ throw new Error('Handler must extend BaseMessageHandler');
84
+ }
85
+ if (priority !== undefined) {
86
+ this.handlers.splice(priority, 0, handler);
87
+ this.logger.debug('Handler added at priority', {
88
+ handlerName: handler.constructor.name,
89
+ priority
90
+ });
91
+ }
92
+ else {
93
+ this.handlers.push(handler);
94
+ this.logger.debug('Handler added', { handlerName: handler.constructor.name });
95
+ }
96
+ }
97
+ /**
98
+ * Remove a handler
99
+ * @param handler - Handler instance to remove
100
+ */
101
+ removeHandler(handler) {
102
+ const index = this.handlers.indexOf(handler);
103
+ if (index !== -1) {
104
+ this.handlers.splice(index, 1);
105
+ this.logger.debug('Handler removed', { handlerName: handler.constructor.name });
106
+ }
107
+ }
108
+ /**
109
+ * Get all registered handlers
110
+ * @returns Array of registered handlers
111
+ */
112
+ getHandlers() {
113
+ return [...this.handlers];
114
+ }
115
+ /**
116
+ * Clear all handlers and re-register defaults
117
+ */
118
+ reset() {
119
+ this.handlers = [];
120
+ this.registerDefaultHandlers();
121
+ }
122
+ }
123
+ //# sourceMappingURL=MessageProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageProcessor.js","sourceRoot":"","sources":["../../../src/core/message/MessageProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { MessageData } from './types.js';
2
+ /**
3
+ * Base interface for message parameters with common optional fields
4
+ */
5
+ interface BaseMessageParams {
6
+ messageId?: string;
7
+ from?: string;
8
+ to?: string;
9
+ }
10
+ /**
11
+ * Parameters for creating a context message
12
+ */
13
+ export interface ContextMessageParams extends BaseMessageParams {
14
+ /**
15
+ * The context content to send
16
+ */
17
+ context: object;
18
+ }
19
+ /**
20
+ * Parameters for creating an escalation event message
21
+ */
22
+ export interface EscalationMessageParams extends BaseMessageParams {
23
+ /**
24
+ * The escalation event data
25
+ */
26
+ escalationEvent: any;
27
+ }
28
+ /**
29
+ * Parameters for creating a feedback message
30
+ */
31
+ export interface FeedbackMessageParams extends BaseMessageParams {
32
+ /**
33
+ * The feedback rating - "up" for positive, "down" for negative
34
+ */
35
+ rating: 'up' | 'down';
36
+ /**
37
+ * ID of the message being rated
38
+ */
39
+ answerMessageId: string;
40
+ }
41
+ /**
42
+ * Parameters for creating a normal customer/agent message
43
+ */
44
+ export interface AgentMessageParams extends BaseMessageParams {
45
+ /**
46
+ * Message content
47
+ */
48
+ content: string;
49
+ /**
50
+ * Persona (defaults to "customer")
51
+ */
52
+ persona?: string;
53
+ /**
54
+ * Role (defaults to "human")
55
+ */
56
+ role?: string;
57
+ }
58
+ /**
59
+ * Parameters for creating a graceful disconnect message
60
+ */
61
+ export interface GracefulDisconnectParams extends BaseMessageParams {
62
+ }
63
+ /**
64
+ * Message object structure returned by helper functions
65
+ * Compatible with AiAgent.send()
66
+ */
67
+ export interface MessageObject {
68
+ persona: string;
69
+ role: string;
70
+ content?: string;
71
+ messageData?: MessageData;
72
+ messageId?: string;
73
+ from?: string;
74
+ to?: string;
75
+ }
76
+ /**
77
+ * Create a context message object
78
+ * @param params - Context message parameters
79
+ * @returns Message object compatible with AiAgent.send()
80
+ */
81
+ export declare function createContextMessage(params: ContextMessageParams): MessageObject;
82
+ /**
83
+ * Create an escalation event message object
84
+ * @param params - Escalation message parameters
85
+ * @returns Message object compatible with AiAgent.send()
86
+ */
87
+ export declare function createEscalationMessage(params: EscalationMessageParams): MessageObject;
88
+ /**
89
+ * Create a feedback message object
90
+ * @param params - Feedback message parameters
91
+ * @returns Message object compatible with AiAgent.send()
92
+ */
93
+ export declare function createFeedbackMessage(params: FeedbackMessageParams): MessageObject;
94
+ /**
95
+ * Create a normal customer/agent message object
96
+ * @param params - Agent message parameters
97
+ * @returns Message object compatible with AiAgent.send()
98
+ */
99
+ export declare function createAgentMessage(params: AgentMessageParams): MessageObject;
100
+ /**
101
+ * Create a graceful disconnect message object
102
+ * @param params - Optional graceful disconnect parameters
103
+ * @returns Message object compatible with AiAgent.send()
104
+ */
105
+ export declare function createGracefulDisconnectMessage(params?: GracefulDisconnectParams): MessageObject;
106
+ /**
107
+ * Parameters for creating a token message
108
+ */
109
+ export interface TokenMessageParams extends BaseMessageParams {
110
+ /**
111
+ * The authentication token to send
112
+ */
113
+ token: string;
114
+ }
115
+ /**
116
+ * Create a token message object for authentication
117
+ * Used to send authentication token to the agent after connection is established
118
+ * @param params - Token message parameters
119
+ * @returns Message object compatible with AiAgent.send()
120
+ */
121
+ export declare function createTokenMessage(params: TokenMessageParams): MessageObject;
122
+ export {};
123
+ //# sourceMappingURL=MessageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageTypes.d.ts","sourceRoot":"","sources":["../../../src/core/message/MessageTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;OAEG;IACH,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;CAElE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAYhF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,aAAa,CAYtF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,aAAa,CAclF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAS5E;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,aAAa,CAQhG;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAY5E"}
@@ -0,0 +1,106 @@
1
+ import { PERSONA, ROLE } from './types.js';
2
+ /**
3
+ * Create a context message object
4
+ * @param params - Context message parameters
5
+ * @returns Message object compatible with AiAgent.send()
6
+ */
7
+ export function createContextMessage(params) {
8
+ return {
9
+ persona: PERSONA.SYSTEM,
10
+ role: ROLE.CONTEXT,
11
+ content: '',
12
+ messageData: {
13
+ context: params.context,
14
+ },
15
+ ...(params.messageId && { messageId: params.messageId }),
16
+ ...(params.from && { from: params.from }),
17
+ ...(params.to && { to: params.to }),
18
+ };
19
+ }
20
+ /**
21
+ * Create an escalation event message object
22
+ * @param params - Escalation message parameters
23
+ * @returns Message object compatible with AiAgent.send()
24
+ */
25
+ export function createEscalationMessage(params) {
26
+ return {
27
+ persona: PERSONA.SYSTEM,
28
+ role: ROLE.ESCALATION,
29
+ content: '',
30
+ messageData: {
31
+ escalationEvent: params.escalationEvent,
32
+ },
33
+ ...(params.messageId && { messageId: params.messageId }),
34
+ ...(params.from && { from: params.from }),
35
+ ...(params.to && { to: params.to }),
36
+ };
37
+ }
38
+ /**
39
+ * Create a feedback message object
40
+ * @param params - Feedback message parameters
41
+ * @returns Message object compatible with AiAgent.send()
42
+ */
43
+ export function createFeedbackMessage(params) {
44
+ return {
45
+ persona: PERSONA.SYSTEM,
46
+ role: ROLE.FEEDBACK,
47
+ messageData: {
48
+ feedback: {
49
+ rating: params.rating,
50
+ answerMessageId: params.answerMessageId,
51
+ },
52
+ },
53
+ ...(params.messageId && { messageId: params.messageId }),
54
+ ...(params.from && { from: params.from }),
55
+ ...(params.to && { to: params.to }),
56
+ };
57
+ }
58
+ /**
59
+ * Create a normal customer/agent message object
60
+ * @param params - Agent message parameters
61
+ * @returns Message object compatible with AiAgent.send()
62
+ */
63
+ export function createAgentMessage(params) {
64
+ return {
65
+ persona: params.persona || PERSONA.CUSTOMER,
66
+ role: params.role || ROLE.HUMAN,
67
+ content: params.content,
68
+ ...(params.messageId && { messageId: params.messageId }),
69
+ ...(params.from && { from: params.from }),
70
+ ...(params.to && { to: params.to }),
71
+ };
72
+ }
73
+ /**
74
+ * Create a graceful disconnect message object
75
+ * @param params - Optional graceful disconnect parameters
76
+ * @returns Message object compatible with AiAgent.send()
77
+ */
78
+ export function createGracefulDisconnectMessage(params) {
79
+ return {
80
+ persona: PERSONA.SYSTEM,
81
+ role: ROLE.GRACEFUL_DISCONNECT,
82
+ ...(params?.messageId && { messageId: params.messageId }),
83
+ ...(params?.from && { from: params.from }),
84
+ ...(params?.to && { to: params.to }),
85
+ };
86
+ }
87
+ /**
88
+ * Create a token message object for authentication
89
+ * Used to send authentication token to the agent after connection is established
90
+ * @param params - Token message parameters
91
+ * @returns Message object compatible with AiAgent.send()
92
+ */
93
+ export function createTokenMessage(params) {
94
+ return {
95
+ persona: PERSONA.METADATA,
96
+ role: ROLE.TOKEN,
97
+ content: '',
98
+ messageData: {
99
+ token: params.token,
100
+ },
101
+ ...(params.messageId && { messageId: params.messageId }),
102
+ ...(params.from && { from: params.from }),
103
+ ...(params.to && { to: params.to }),
104
+ };
105
+ }
106
+ //# sourceMappingURL=MessageTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageTypes.js","sourceRoot":"","sources":["../../../src/core/message/MessageTypes.ts"],"names":[],"mappings":"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"}