@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.
- package/README.md +295 -0
- package/dist/browser.js +22739 -0
- package/dist/core/AiAgent.d.ts +1126 -0
- package/dist/core/AiAgent.d.ts.map +1 -0
- package/dist/core/AiAgent.js +2037 -0
- package/dist/core/AiAgent.js.map +1 -0
- package/dist/core/api/ApiHelper.d.ts +433 -0
- package/dist/core/api/ApiHelper.d.ts.map +1 -0
- package/dist/core/api/ApiHelper.js +689 -0
- package/dist/core/api/ApiHelper.js.map +1 -0
- package/dist/core/api/CacheAdapter.d.ts +295 -0
- package/dist/core/api/CacheAdapter.d.ts.map +1 -0
- package/dist/core/api/CacheAdapter.js +298 -0
- package/dist/core/api/CacheAdapter.js.map +1 -0
- package/dist/core/auth/AnonymousAuthStrategy.d.ts +87 -0
- package/dist/core/auth/AnonymousAuthStrategy.d.ts.map +1 -0
- package/dist/core/auth/AnonymousAuthStrategy.js +257 -0
- package/dist/core/auth/AnonymousAuthStrategy.js.map +1 -0
- package/dist/core/auth/AuthProvider.d.ts +13 -0
- package/dist/core/auth/AuthProvider.d.ts.map +1 -0
- package/dist/core/auth/AuthProvider.js +2 -0
- package/dist/core/auth/AuthProvider.js.map +1 -0
- package/dist/core/auth/AuthStrategy.d.ts +74 -0
- package/dist/core/auth/AuthStrategy.d.ts.map +1 -0
- package/dist/core/auth/AuthStrategy.js +2 -0
- package/dist/core/auth/AuthStrategy.js.map +1 -0
- package/dist/core/auth/AuthenticationService.d.ts +226 -0
- package/dist/core/auth/AuthenticationService.d.ts.map +1 -0
- package/dist/core/auth/AuthenticationService.js +344 -0
- package/dist/core/auth/AuthenticationService.js.map +1 -0
- package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts +62 -0
- package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts.map +1 -0
- package/dist/core/auth/ClientCredentialsAuthStrategy.js +78 -0
- package/dist/core/auth/ClientCredentialsAuthStrategy.js.map +1 -0
- package/dist/core/auth/PKCEAuthStrategy.d.ts +136 -0
- package/dist/core/auth/PKCEAuthStrategy.d.ts.map +1 -0
- package/dist/core/auth/PKCEAuthStrategy.js +409 -0
- package/dist/core/auth/PKCEAuthStrategy.js.map +1 -0
- package/dist/core/auth/PreAuthStrategy.d.ts +101 -0
- package/dist/core/auth/PreAuthStrategy.d.ts.map +1 -0
- package/dist/core/auth/PreAuthStrategy.js +216 -0
- package/dist/core/auth/PreAuthStrategy.js.map +1 -0
- package/dist/core/auth/msal-browser.js +19683 -0
- package/dist/core/auth/msal-loader.d.ts +14 -0
- package/dist/core/auth/msal-loader.d.ts.map +1 -0
- package/dist/core/auth/msal-loader.js +43 -0
- package/dist/core/auth/msal-loader.js.map +1 -0
- package/dist/core/connection/Connection.d.ts +168 -0
- package/dist/core/connection/Connection.d.ts.map +1 -0
- package/dist/core/connection/Connection.js +290 -0
- package/dist/core/connection/Connection.js.map +1 -0
- package/dist/core/connection/ConnectionState.d.ts +11 -0
- package/dist/core/connection/ConnectionState.d.ts.map +1 -0
- package/dist/core/connection/ConnectionState.js +12 -0
- package/dist/core/connection/ConnectionState.js.map +1 -0
- package/dist/core/connection/Transport.d.ts +98 -0
- package/dist/core/connection/Transport.d.ts.map +1 -0
- package/dist/core/connection/Transport.js +27 -0
- package/dist/core/connection/Transport.js.map +1 -0
- package/dist/core/connection/WebSocketTransport.d.ts +65 -0
- package/dist/core/connection/WebSocketTransport.d.ts.map +1 -0
- package/dist/core/connection/WebSocketTransport.js +177 -0
- package/dist/core/connection/WebSocketTransport.js.map +1 -0
- package/dist/core/errors/SDKError.d.ts +27 -0
- package/dist/core/errors/SDKError.d.ts.map +1 -0
- package/dist/core/errors/SDKError.js +43 -0
- package/dist/core/errors/SDKError.js.map +1 -0
- package/dist/core/events/EventEmitter.d.ts +120 -0
- package/dist/core/events/EventEmitter.d.ts.map +1 -0
- package/dist/core/events/EventEmitter.js +183 -0
- package/dist/core/events/EventEmitter.js.map +1 -0
- package/dist/core/logging/LogLevel.d.ts +33 -0
- package/dist/core/logging/LogLevel.d.ts.map +1 -0
- package/dist/core/logging/LogLevel.js +40 -0
- package/dist/core/logging/LogLevel.js.map +1 -0
- package/dist/core/logging/Logger.d.ts +120 -0
- package/dist/core/logging/Logger.d.ts.map +1 -0
- package/dist/core/logging/Logger.js +204 -0
- package/dist/core/logging/Logger.js.map +1 -0
- package/dist/core/logging/globalLogger.d.ts +8 -0
- package/dist/core/logging/globalLogger.d.ts.map +1 -0
- package/dist/core/logging/globalLogger.js +12 -0
- package/dist/core/logging/globalLogger.js.map +1 -0
- package/dist/core/logging/types.d.ts +45 -0
- package/dist/core/logging/types.d.ts.map +1 -0
- package/dist/core/logging/types.js +2 -0
- package/dist/core/logging/types.js.map +1 -0
- package/dist/core/message/BaseMessageHandler.d.ts +208 -0
- package/dist/core/message/BaseMessageHandler.d.ts.map +1 -0
- package/dist/core/message/BaseMessageHandler.js +155 -0
- package/dist/core/message/BaseMessageHandler.js.map +1 -0
- package/dist/core/message/Message.d.ts +69 -0
- package/dist/core/message/Message.d.ts.map +1 -0
- package/dist/core/message/Message.js +131 -0
- package/dist/core/message/Message.js.map +1 -0
- package/dist/core/message/MessageProcessor.d.ts +51 -0
- package/dist/core/message/MessageProcessor.d.ts.map +1 -0
- package/dist/core/message/MessageProcessor.js +123 -0
- package/dist/core/message/MessageProcessor.js.map +1 -0
- package/dist/core/message/MessageTypes.d.ts +123 -0
- package/dist/core/message/MessageTypes.d.ts.map +1 -0
- package/dist/core/message/MessageTypes.js +106 -0
- package/dist/core/message/MessageTypes.js.map +1 -0
- package/dist/core/message/Transcript.d.ts +373 -0
- package/dist/core/message/Transcript.d.ts.map +1 -0
- package/dist/core/message/Transcript.js +355 -0
- package/dist/core/message/Transcript.js.map +1 -0
- package/dist/core/message/handlers/AgentMessageHandler.d.ts +26 -0
- package/dist/core/message/handlers/AgentMessageHandler.d.ts.map +1 -0
- package/dist/core/message/handlers/AgentMessageHandler.js +130 -0
- package/dist/core/message/handlers/AgentMessageHandler.js.map +1 -0
- package/dist/core/message/handlers/ChatHistoryHandler.d.ts +12 -0
- package/dist/core/message/handlers/ChatHistoryHandler.d.ts.map +1 -0
- package/dist/core/message/handlers/ChatHistoryHandler.js +49 -0
- package/dist/core/message/handlers/ChatHistoryHandler.js.map +1 -0
- package/dist/core/message/handlers/ErrorMessageHandler.d.ts +12 -0
- package/dist/core/message/handlers/ErrorMessageHandler.d.ts.map +1 -0
- package/dist/core/message/handlers/ErrorMessageHandler.js +49 -0
- package/dist/core/message/handlers/ErrorMessageHandler.js.map +1 -0
- package/dist/core/message/handlers/HeartbeatHandler.d.ts +12 -0
- package/dist/core/message/handlers/HeartbeatHandler.d.ts.map +1 -0
- package/dist/core/message/handlers/HeartbeatHandler.js +46 -0
- package/dist/core/message/handlers/HeartbeatHandler.js.map +1 -0
- package/dist/core/message/handlers/TokenRefreshHandler.d.ts +30 -0
- package/dist/core/message/handlers/TokenRefreshHandler.d.ts.map +1 -0
- package/dist/core/message/handlers/TokenRefreshHandler.js +84 -0
- package/dist/core/message/handlers/TokenRefreshHandler.js.map +1 -0
- package/dist/core/message/types.d.ts +107 -0
- package/dist/core/message/types.d.ts.map +1 -0
- package/dist/core/message/types.js +30 -0
- package/dist/core/message/types.js.map +1 -0
- package/dist/core/platform/HookContract.d.ts +112 -0
- package/dist/core/platform/HookContract.d.ts.map +1 -0
- package/dist/core/platform/HookContract.js +13 -0
- package/dist/core/platform/HookContract.js.map +1 -0
- package/dist/core/platform/PlatformComponentService.d.ts +40 -0
- package/dist/core/platform/PlatformComponentService.d.ts.map +1 -0
- package/dist/core/platform/PlatformComponentService.js +12 -0
- package/dist/core/platform/PlatformComponentService.js.map +1 -0
- package/dist/core/platform/PlatformScriptLoader.d.ts +41 -0
- package/dist/core/platform/PlatformScriptLoader.d.ts.map +1 -0
- package/dist/core/platform/PlatformScriptLoader.js +110 -0
- package/dist/core/platform/PlatformScriptLoader.js.map +1 -0
- package/dist/core/polyfills.d.ts +16 -0
- package/dist/core/polyfills.d.ts.map +1 -0
- package/dist/core/polyfills.js +168 -0
- package/dist/core/polyfills.js.map +1 -0
- package/dist/core/portal-initializer/PortalInitializer.d.ts +234 -0
- package/dist/core/portal-initializer/PortalInitializer.d.ts.map +1 -0
- package/dist/core/portal-initializer/PortalInitializer.js +636 -0
- package/dist/core/portal-initializer/PortalInitializer.js.map +1 -0
- package/dist/core/queue/MessageQueue.d.ts +277 -0
- package/dist/core/queue/MessageQueue.d.ts.map +1 -0
- package/dist/core/queue/MessageQueue.js +291 -0
- package/dist/core/queue/MessageQueue.js.map +1 -0
- package/dist/core/types/PortalTypes.d.ts +51 -0
- package/dist/core/types/PortalTypes.d.ts.map +1 -0
- package/dist/core/types/PortalTypes.js +8 -0
- package/dist/core/types/PortalTypes.js.map +1 -0
- package/dist/index.d.ts +91 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- 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":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAoFxD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,CAAC,OAAO;QAClB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;QACD,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IACrE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE;YACX,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;QACD,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;SACF;QACD,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ;QAC3C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAiC;IAC/E,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,CAAC,mBAAmB;QAC9B,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE;YACX,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;QACD,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC"}
|