@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,373 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Transcript
|
|
3
|
+
*
|
|
4
|
+
* The Transcript feature automatically records all messages sent and received
|
|
5
|
+
* during a conversation, providing a complete history for display, debugging,
|
|
6
|
+
* or analytics.
|
|
7
|
+
*
|
|
8
|
+
* ## Overview
|
|
9
|
+
*
|
|
10
|
+
* Transcript is enabled by default and automatically captures:
|
|
11
|
+
* - Customer messages (sent)
|
|
12
|
+
* - Agent responses (received)
|
|
13
|
+
* - System messages
|
|
14
|
+
* - Context messages
|
|
15
|
+
*
|
|
16
|
+
* ## Quick Start
|
|
17
|
+
*
|
|
18
|
+
* Access the transcript through the agent instance:
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Get all transcript entries
|
|
22
|
+
* const entries = agent.getTranscript();
|
|
23
|
+
*
|
|
24
|
+
* // Get as JSON (for display or storage)
|
|
25
|
+
* const json = agent.getTranscriptAsJSON();
|
|
26
|
+
*
|
|
27
|
+
* // Get transcript size
|
|
28
|
+
* const count = agent.getTranscriptSize();
|
|
29
|
+
*
|
|
30
|
+
* // Clear transcript
|
|
31
|
+
* agent.clearTranscript();
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ## Configuration
|
|
35
|
+
*
|
|
36
|
+
* Configure transcript behavior when creating the agent:
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const agent = new AiAgent({
|
|
40
|
+
* id: "agent-id",
|
|
41
|
+
* endpoint: "https://your-endpoint.com",
|
|
42
|
+
* transcriptConfig: {
|
|
43
|
+
* enabled: true, // Enable/disable transcript
|
|
44
|
+
* excludeRoles: ["heartbeat"], // Exclude heartbeat messages
|
|
45
|
+
* excludePersonas: ["system"] // Exclude system messages
|
|
46
|
+
* }
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ## Filtering Entries
|
|
51
|
+
*
|
|
52
|
+
* Retrieve filtered transcript entries:
|
|
53
|
+
*
|
|
54
|
+
* ```typescript
|
|
55
|
+
* // Get only received messages
|
|
56
|
+
* const received = agent.getTranscript({ direction: 'received' });
|
|
57
|
+
*
|
|
58
|
+
* // Get messages from a specific time range
|
|
59
|
+
* const recent = agent.getTranscript({
|
|
60
|
+
* fromTimestamp: Date.now() - 3600000 // Last hour
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* // Get only agent messages
|
|
64
|
+
* const agentMessages = agent.getTranscript({ persona: 'agent' });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* ## Transcript Events
|
|
68
|
+
*
|
|
69
|
+
* Listen for transcript updates in real-time:
|
|
70
|
+
*
|
|
71
|
+
* ```typescript
|
|
72
|
+
* agent.on('transcriptUpdate', (event) => {
|
|
73
|
+
* const { entry } = event.payload;
|
|
74
|
+
* console.log(`${entry.direction}: ${entry.message.content}`);
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* ## Use Cases
|
|
79
|
+
*
|
|
80
|
+
* - **Chat UI**: Display conversation history
|
|
81
|
+
* - **Analytics**: Track conversation patterns
|
|
82
|
+
* - **Debugging**: Review message flow
|
|
83
|
+
* - **Persistence**: Save conversations to database
|
|
84
|
+
*
|
|
85
|
+
* @module Transcript
|
|
86
|
+
* @category Features
|
|
87
|
+
*/
|
|
88
|
+
import { Message } from './Message.js';
|
|
89
|
+
import { Persona, Role } from './types.js';
|
|
90
|
+
/**
|
|
91
|
+
* Transcript entry containing a message with metadata.
|
|
92
|
+
*
|
|
93
|
+
* Each entry represents a single message in the conversation
|
|
94
|
+
* with direction and timing information.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const entry: TranscriptEntry = {
|
|
99
|
+
* message: message,
|
|
100
|
+
* direction: 'received',
|
|
101
|
+
* timestamp: Date.now(),
|
|
102
|
+
* sessionId: 'session-123',
|
|
103
|
+
* agentId: 'agent-456'
|
|
104
|
+
* };
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @category Features
|
|
108
|
+
* @group Transcript
|
|
109
|
+
*/
|
|
110
|
+
export interface TranscriptEntry {
|
|
111
|
+
/** The message object */
|
|
112
|
+
message: Message;
|
|
113
|
+
/** Whether the message was sent or received */
|
|
114
|
+
direction: 'sent' | 'received';
|
|
115
|
+
/** Timestamp when the message was recorded */
|
|
116
|
+
timestamp: number;
|
|
117
|
+
/** Session ID associated with this message */
|
|
118
|
+
sessionId?: string | number;
|
|
119
|
+
/** Agent ID associated with this message */
|
|
120
|
+
agentId?: string | number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Configuration for transcript storage and filtering.
|
|
124
|
+
*
|
|
125
|
+
* Use this to control which messages are recorded in the transcript.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* const config: TranscriptConfig = {
|
|
130
|
+
* enabled: true,
|
|
131
|
+
* excludeRoles: ['heartbeat', 'token'],
|
|
132
|
+
* excludePersonas: ['system']
|
|
133
|
+
* };
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @category Features
|
|
137
|
+
* @group Transcript
|
|
138
|
+
*/
|
|
139
|
+
export interface TranscriptConfig {
|
|
140
|
+
/**
|
|
141
|
+
* Enable or disable transcript storage.
|
|
142
|
+
* When disabled, no messages are recorded.
|
|
143
|
+
* @default true
|
|
144
|
+
*/
|
|
145
|
+
enabled?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Array of message types to include.
|
|
148
|
+
* If specified, only these message types are recorded.
|
|
149
|
+
* If not specified, all message types are included (subject to exclude filters).
|
|
150
|
+
*
|
|
151
|
+
* @example ['agent_message', 'customer_message']
|
|
152
|
+
*/
|
|
153
|
+
includeMessageTypes?: string[];
|
|
154
|
+
/**
|
|
155
|
+
* Array of roles to exclude from the transcript.
|
|
156
|
+
* Messages with these roles will not be recorded.
|
|
157
|
+
*
|
|
158
|
+
* @example ['heartbeat', 'token']
|
|
159
|
+
*/
|
|
160
|
+
excludeRoles?: string[];
|
|
161
|
+
/**
|
|
162
|
+
* Array of personas to exclude from the transcript.
|
|
163
|
+
* Messages from these personas will not be recorded.
|
|
164
|
+
*
|
|
165
|
+
* @example ['system']
|
|
166
|
+
*/
|
|
167
|
+
excludePersonas?: string[];
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Options for filtering transcript entries when retrieving.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* // Get received messages from the last hour
|
|
175
|
+
* const options: TranscriptOptions = {
|
|
176
|
+
* direction: 'received',
|
|
177
|
+
* fromTimestamp: Date.now() - 3600000
|
|
178
|
+
* };
|
|
179
|
+
* const entries = transcript.getEntries(options);
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @category Features
|
|
183
|
+
* @group Transcript
|
|
184
|
+
*/
|
|
185
|
+
export interface TranscriptOptions {
|
|
186
|
+
/**
|
|
187
|
+
* Filter entries from this timestamp onwards (inclusive)
|
|
188
|
+
*/
|
|
189
|
+
fromTimestamp?: number;
|
|
190
|
+
/**
|
|
191
|
+
* Filter entries up to this timestamp (inclusive)
|
|
192
|
+
*/
|
|
193
|
+
toTimestamp?: number;
|
|
194
|
+
/**
|
|
195
|
+
* Filter by direction: 'sent', 'received', or 'both'
|
|
196
|
+
*/
|
|
197
|
+
direction?: 'sent' | 'received' | 'both';
|
|
198
|
+
/**
|
|
199
|
+
* Filter by message persona (e.g., 'agent', 'customer')
|
|
200
|
+
*/
|
|
201
|
+
persona?: Persona;
|
|
202
|
+
/**
|
|
203
|
+
* Filter by message role (e.g., 'human', 'context')
|
|
204
|
+
*/
|
|
205
|
+
role?: Role;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Transcript storage class for managing conversation history.
|
|
209
|
+
*
|
|
210
|
+
* The Transcript class provides a complete record of all messages
|
|
211
|
+
* exchanged during a conversation. It supports filtering, JSON export,
|
|
212
|
+
* and real-time updates.
|
|
213
|
+
*
|
|
214
|
+
* @example Basic usage
|
|
215
|
+
* ```typescript
|
|
216
|
+
* const transcript = new Transcript();
|
|
217
|
+
*
|
|
218
|
+
* // Add a message
|
|
219
|
+
* transcript.add(message, 'sent', sessionId, agentId);
|
|
220
|
+
*
|
|
221
|
+
* // Get all entries
|
|
222
|
+
* const entries = transcript.getEntries();
|
|
223
|
+
*
|
|
224
|
+
* // Get as JSON for storage
|
|
225
|
+
* const json = transcript.getEntriesAsJSON();
|
|
226
|
+
*
|
|
227
|
+
* // Get entry count
|
|
228
|
+
* console.log(`${transcript.size()} messages`);
|
|
229
|
+
*
|
|
230
|
+
* // Clear all entries
|
|
231
|
+
* transcript.clear();
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* @example With configuration
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const transcript = new Transcript({
|
|
237
|
+
* enabled: true,
|
|
238
|
+
* excludeRoles: ['heartbeat'], // Don't record heartbeats
|
|
239
|
+
* });
|
|
240
|
+
* ```
|
|
241
|
+
*
|
|
242
|
+
* @example Filtering entries
|
|
243
|
+
* ```typescript
|
|
244
|
+
* // Get only agent responses
|
|
245
|
+
* const agentResponses = transcript.getEntries({
|
|
246
|
+
* direction: 'received',
|
|
247
|
+
* persona: 'agent'
|
|
248
|
+
* });
|
|
249
|
+
*
|
|
250
|
+
* // Get messages from the last 5 minutes
|
|
251
|
+
* const recentMessages = transcript.getEntries({
|
|
252
|
+
* fromTimestamp: Date.now() - 300000
|
|
253
|
+
* });
|
|
254
|
+
* ```
|
|
255
|
+
*
|
|
256
|
+
* @category Features
|
|
257
|
+
* @group Transcript
|
|
258
|
+
*/
|
|
259
|
+
export declare class Transcript {
|
|
260
|
+
private entries;
|
|
261
|
+
private config;
|
|
262
|
+
/**
|
|
263
|
+
* Create a new Transcript instance
|
|
264
|
+
* @param config - Optional configuration for filtering
|
|
265
|
+
*/
|
|
266
|
+
constructor(config?: TranscriptConfig);
|
|
267
|
+
/**
|
|
268
|
+
* Add a message to the transcript.
|
|
269
|
+
*
|
|
270
|
+
* Messages are automatically filtered based on configuration.
|
|
271
|
+
* If the transcript is disabled or the message matches an exclude filter,
|
|
272
|
+
* it will not be recorded.
|
|
273
|
+
*
|
|
274
|
+
* @param message - The message to add
|
|
275
|
+
* @param direction - Whether the message was 'sent' or 'received'
|
|
276
|
+
* @param sessionId - Optional session ID for context
|
|
277
|
+
* @param agentId - Optional agent ID for context
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* ```typescript
|
|
281
|
+
* transcript.add(
|
|
282
|
+
* new Message('customer', 'human', 'Hello!'),
|
|
283
|
+
* 'sent',
|
|
284
|
+
* 'session-123',
|
|
285
|
+
* 'agent-456'
|
|
286
|
+
* );
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
add(message: Message, direction: 'sent' | 'received', sessionId?: string | number, agentId?: string | number): void;
|
|
290
|
+
/**
|
|
291
|
+
* Get transcript entries, optionally filtered.
|
|
292
|
+
*
|
|
293
|
+
* @param options - Optional filtering options
|
|
294
|
+
* @returns Array of transcript entries matching the filter
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* // Get all entries
|
|
299
|
+
* const all = transcript.getEntries();
|
|
300
|
+
*
|
|
301
|
+
* // Get only sent messages
|
|
302
|
+
* const sent = transcript.getEntries({ direction: 'sent' });
|
|
303
|
+
*
|
|
304
|
+
* // Get messages from last hour
|
|
305
|
+
* const recent = transcript.getEntries({
|
|
306
|
+
* fromTimestamp: Date.now() - 3600000
|
|
307
|
+
* });
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
getEntries(options?: TranscriptOptions): TranscriptEntry[];
|
|
311
|
+
/**
|
|
312
|
+
* Get transcript entries as plain JSON-serializable objects.
|
|
313
|
+
*
|
|
314
|
+
* Useful for storing transcripts in databases, sending to APIs,
|
|
315
|
+
* or displaying in UI components.
|
|
316
|
+
*
|
|
317
|
+
* @param options - Optional filtering options
|
|
318
|
+
* @returns Array of plain objects representing transcript entries
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```typescript
|
|
322
|
+
* const json = transcript.getEntriesAsJSON();
|
|
323
|
+
*
|
|
324
|
+
* // Each entry includes:
|
|
325
|
+
* // {
|
|
326
|
+
* // messageId, persona, role, content, messageData,
|
|
327
|
+
* // timestamp, from, to, agentId, sessionId,
|
|
328
|
+
* // direction, entryTimestamp
|
|
329
|
+
* // }
|
|
330
|
+
*
|
|
331
|
+
* // Save to database
|
|
332
|
+
* await db.saveTranscript(json);
|
|
333
|
+
* ```
|
|
334
|
+
*/
|
|
335
|
+
getEntriesAsJSON(options?: TranscriptOptions): any[];
|
|
336
|
+
/**
|
|
337
|
+
* Get the number of entries in the transcript.
|
|
338
|
+
* @returns Number of recorded messages
|
|
339
|
+
*/
|
|
340
|
+
size(): number;
|
|
341
|
+
/**
|
|
342
|
+
* Clear all transcript entries.
|
|
343
|
+
*
|
|
344
|
+
* This removes all recorded messages. Use with caution as
|
|
345
|
+
* this action cannot be undone.
|
|
346
|
+
*/
|
|
347
|
+
clear(): void;
|
|
348
|
+
/**
|
|
349
|
+
* Check if a message should be included based on configuration filters
|
|
350
|
+
* @param message - The message to check
|
|
351
|
+
* @returns True if message should be included
|
|
352
|
+
*/
|
|
353
|
+
private shouldInclude;
|
|
354
|
+
/**
|
|
355
|
+
* Update transcript configuration at runtime.
|
|
356
|
+
*
|
|
357
|
+
* @param config - New configuration options (partial update)
|
|
358
|
+
*
|
|
359
|
+
* @example
|
|
360
|
+
* ```typescript
|
|
361
|
+
* // Disable transcript temporarily
|
|
362
|
+
* transcript.updateConfig({ enabled: false });
|
|
363
|
+
*
|
|
364
|
+
* // Re-enable with new exclusions
|
|
365
|
+
* transcript.updateConfig({
|
|
366
|
+
* enabled: true,
|
|
367
|
+
* excludeRoles: ['heartbeat', 'token']
|
|
368
|
+
* });
|
|
369
|
+
* ```
|
|
370
|
+
*/
|
|
371
|
+
updateConfig(config: Partial<TranscriptConfig>): void;
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=Transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../../../src/core/message/Transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAC/B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAEzC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAA6B;IAE3C;;;OAGG;gBACS,MAAM,GAAE,gBAAqB;IASzC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,CACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GACxB,IAAI;IAqBP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe,EAAE;IA+B1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,GAAG,EAAE;IAkBpD;;;OAGG;IACH,IAAI,IAAI,MAAM;IAId;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA2BrB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;CActD"}
|