@or-sdk/hitl 0.36.2 → 0.36.3

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 (47) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/api/Sessions.js +4 -3
  3. package/dist/cjs/api/Sessions.js.map +1 -1
  4. package/dist/esm/api/Sessions.js +3 -2
  5. package/dist/esm/api/Sessions.js.map +1 -1
  6. package/dist/types/HITL.d.ts +13 -0
  7. package/dist/types/HITL.d.ts.map +1 -1
  8. package/dist/types/api/Agents.d.ts +347 -0
  9. package/dist/types/api/Agents.d.ts.map +1 -1
  10. package/dist/types/api/CannedMessages.d.ts +168 -0
  11. package/dist/types/api/CannedMessages.d.ts.map +1 -1
  12. package/dist/types/api/Commands.d.ts +46 -0
  13. package/dist/types/api/Commands.d.ts.map +1 -1
  14. package/dist/types/api/Conferences.d.ts +120 -0
  15. package/dist/types/api/Conferences.d.ts.map +1 -1
  16. package/dist/types/api/ContactRuleGroups.d.ts +131 -0
  17. package/dist/types/api/ContactRuleGroups.d.ts.map +1 -1
  18. package/dist/types/api/Contacts.d.ts +37 -0
  19. package/dist/types/api/Contacts.d.ts.map +1 -1
  20. package/dist/types/api/ContactsMeta.d.ts +33 -0
  21. package/dist/types/api/ContactsMeta.d.ts.map +1 -1
  22. package/dist/types/api/EventTemplates.d.ts +135 -0
  23. package/dist/types/api/EventTemplates.d.ts.map +1 -1
  24. package/dist/types/api/Filters.d.ts +215 -0
  25. package/dist/types/api/Filters.d.ts.map +1 -1
  26. package/dist/types/api/Helpers.d.ts +33 -0
  27. package/dist/types/api/Helpers.d.ts.map +1 -1
  28. package/dist/types/api/Listeners.d.ts +150 -0
  29. package/dist/types/api/Listeners.d.ts.map +1 -1
  30. package/dist/types/api/Migrations.d.ts +222 -0
  31. package/dist/types/api/Migrations.d.ts.map +1 -1
  32. package/dist/types/api/RuleGroups.d.ts +127 -0
  33. package/dist/types/api/RuleGroups.d.ts.map +1 -1
  34. package/dist/types/api/SessionEvents.d.ts +145 -0
  35. package/dist/types/api/SessionEvents.d.ts.map +1 -1
  36. package/dist/types/api/SessionRelations.d.ts +109 -0
  37. package/dist/types/api/SessionRelations.d.ts.map +1 -1
  38. package/dist/types/api/Sessions.d.ts +455 -1
  39. package/dist/types/api/Sessions.d.ts.map +1 -1
  40. package/dist/types/api/Settings.d.ts +145 -0
  41. package/dist/types/api/Settings.d.ts.map +1 -1
  42. package/dist/types/api/Tasks.d.ts +39 -0
  43. package/dist/types/api/Tasks.d.ts.map +1 -1
  44. package/dist/types/api/Versions.d.ts +80 -0
  45. package/dist/types/api/Versions.d.ts.map +1 -1
  46. package/package.json +2 -2
  47. package/src/api/Sessions.ts +2 -1
@@ -1,5 +1,19 @@
1
1
  import { Session, GetSessionsOptions, GetSessionByIdOptions, GetSessionsResponse, GetQueueSessionOptions, GetQueueSessionResponse, SearchSessionsOptions, SearchSessionsResponse, SearchSessionsWithContactsOptions, SearchSessionsWithContactsResponse, GetInitTriggersOptions, GetInitTriggersResponse, ClaimSessionByAgentOptions, StartConversationOptions, TransferToBotOptions, UpdateSessionOptions, CloseSessionOptions, ReopenSessionOptions, DeleteClosedSessionOptions, CreateSessionsOptions, CreateSessionsResponse, BulkDeleteSessionsOptions } from '../types/sessions';
2
2
  import { HITLBase } from './HITLBase';
3
+ /**
4
+ * Manages Human-in-the-Loop sessions and related operations
5
+ *
6
+ * This class provides functionality to:
7
+ * - Manage session lifecycle (create, update, close, reopen, delete)
8
+ * - Handle session assignments and transfers
9
+ * - Search and retrieve sessions
10
+ * - Manage queue sessions
11
+ *
12
+ * @remarks
13
+ * - Makes requests to the `/sessions` endpoints
14
+ * - For the methods `claimSessionByAgent` and `searchSessionsWithContacts`, you must include `{ version: 2 }` in the parameters for the method to execute correctly.
15
+ * @public
16
+ */
3
17
  export declare class Sessions extends HITLBase {
4
18
  protected static MODULE_URL: string;
5
19
  protected static SEARCH_URL: "search";
@@ -11,21 +25,461 @@ export declare class Sessions extends HITLBase {
11
25
  protected static START_CONVERSATION_URL: "start-conversation";
12
26
  protected static CLOSE_URL: "close";
13
27
  protected static REOPEN_URL: "reopen";
28
+ /**
29
+ * Retrieves a list of HITL sessions
30
+ *
31
+ * @param options - Configuration parameters for retrieving sessions
32
+ *
33
+ * Optional parameters:
34
+ * - `agentId` - (string) ID of agent to filter sessions by
35
+ * - `contactId` - (string) ID of contact to filter sessions by
36
+ * - `ignoreRuleTags` - (boolean) Whether to ignore rule tags in filtering
37
+ * - `limit` - (number) Maximum number of sessions to return
38
+ * - `order` - ('asc' | 'desc') Sort order direction
39
+ * - `orderBy` - (string) Field to sort results by
40
+ * - `page` - ({@link PageOptions}) Pagination options
41
+ * - `projection` - (string[]) Fields to include in the response
42
+ * - `status` - (string[]) Filter by session status(es)
43
+ * - `timeout` - (number) Request timeout in milliseconds
44
+ * - `version` - (string | number) API version to use
45
+ *
46
+ * @returns {Promise<GetSessionsResponse>} Promise resolving to list of sessions
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Get all active sessions for an agent
51
+ * const sessions = await hitlApi.sessions.getSessions({
52
+ * status: ['ONGOING', 'CLAIMED'],
53
+ * limit: 50
54
+ * });
55
+ * ```
56
+ *
57
+ * @remarks Makes a GET request to `/hitl/sessions`
58
+ */
14
59
  static getSessions(options?: GetSessionsOptions): Promise<GetSessionsResponse>;
60
+ /**
61
+ * Retrieves a specific HitL session by ID
62
+ *
63
+ * @param options - Configuration parameters for retrieving a session
64
+ *
65
+ * Required parameters:
66
+ * - `sessionId` - (string) ID of the session to retrieve
67
+ *
68
+ * Optional parameters:
69
+ * - `agentId` - (string) ID of agent accessing the session
70
+ * - `ignoreRuleTags` - (boolean) Whether to ignore rule tags in filtering
71
+ * - `projection` - (string[]) Fields to include in the response
72
+ * - `timeout` - (number) Request timeout in milliseconds
73
+ * - `version` - (string | number) API version to use
74
+ *
75
+ * @returns {Promise<Session>} Promise resolving to session details
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const session = await hitlApi.sessions.getSessionById({
80
+ * sessionId: 'session-id-1',
81
+ * projection: ['hitlSessionId', 'status', 'transcript']
82
+ * });
83
+ * ```
84
+ *
85
+ * @remarks Makes a GET request to `/sessions/{sessionId}`
86
+ */
15
87
  static getSessionById({ agentId, projection, ...options }: GetSessionByIdOptions): Promise<Session>;
88
+ /**
89
+ * Searches for HitL sessions based on provided criteria
90
+ *
91
+ * @param options - Search configuration and filters
92
+ *
93
+ * Optional parameters:
94
+ * - `agentId` - (string) Filter by assigned agent
95
+ * - `claimedBy` - (string) Filter by currently assigned agent
96
+ * - `claimedByHistory` - (string) Filter by previously assigned agent
97
+ * - `contactIds` - (string[]) Array of contact IDs to filter by
98
+ * - `dateRange` - (DateRangeOptions) Date range filtering options
99
+ * - `meta` - (Record<string, string | number | boolean | MetaWithCondition>) Metadata filters
100
+ * - `needsAction` - (boolean) Filter sessions requiring action
101
+ * - `searchPhrase` - (string) Text search query
102
+ * - `sessionIds` - (string[]) Array of session IDs to filter by
103
+ * - `sessionsSearchOptions` - (SessionSearchOptions) Additional search configuration
104
+ * - `status` - (string[]) Filter by session status(es)
105
+ * - `tags` - (TagsQuery | string[]) Filter by tags
106
+ * - `timeout` - (number) Request timeout in milliseconds
107
+ * - `type` - (string) Filter by session type
108
+ * - `version` - (string | number) API version to use
109
+ *
110
+ * @returns {Promise<SearchSessionsResponse>} Promise resolving to search results
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * // Search by different options
115
+ * const results = await hitlApi.sessions.searchSessions({
116
+ * claimedBy: BASIC_USER_ID,
117
+ * status: ['ONGOING', 'CLAIMED'],
118
+ * tags: ['wait_for_agent'],
119
+ * type: 'SMS',
120
+ * limit: 25
121
+ * });
122
+ *
123
+ * // Search by meta with conditions
124
+ * const results = await hitlApi.sessions.searchSessions({
125
+ * meta: {
126
+ * botIdentifier: { value: botIdentifier, condition: 'IS_EQUAL' },
127
+ * hiddenFromHistory: { value: true, condition: 'IS_NOT_EQUAL' },
128
+ * userIdentifier: { value: userIdentifier1.slice(3), condition: 'CONTAINS' },
129
+ * },
130
+ * });
131
+ * ```
132
+ *
133
+ * @remarks Makes a POST request to `/sessions/search`
134
+ */
16
135
  static searchSessions({ agentId, ...options }?: SearchSessionsOptions): Promise<SearchSessionsResponse>;
136
+ /**
137
+ * Searches for HitL sessions and includes associated contact information
138
+ *
139
+ * @param options - Search configuration including contact-related filters
140
+ *
141
+ * Optional parameters:
142
+ * - `agentId` - (string) Filter by assigned agent
143
+ * - `contact` - (ContactSearchParams) Contact search parameters
144
+ * - `contactsSearchOptions` - (ContactSearchOptions) Additional contact search configuration
145
+ * - `dateRange` - (DateRangeOptions) Date range filtering options
146
+ * - `searchPhrase` - (string) Text search query
147
+ * - `sessionsSearchOptions` - (SessionSearchOptions) Additional session search configuration
148
+ * - `tags` - (string[]) Filter by tags
149
+ * - `timeout` - (number) Request timeout in milliseconds
150
+ * - `version` - (string | number) API version to use
151
+ *
152
+ * @returns {Promise<SearchSessionsWithContactsResponse>} Promise resolving to sessions with contact details
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const results = await hitlApi.sessions.searchSessionsWithContacts({
157
+ * searchPhrase: 'billing issue',
158
+ * tags: ['vip', 'missed'],
159
+ * limit: 10,
160
+ * version: 2
161
+ * });
162
+ *
163
+ * // Search sessions by contact info
164
+ * const results = await hitlApi.sessions.searchSessionsWithContacts({
165
+ * contact: { name: 'Alison' },
166
+ * contactsSearchOptions: { size: 2 },
167
+ * version: 2
168
+ * });
169
+ * ```
170
+ *
171
+ * @remarks Makes a POST request to `/sessions/search-with-contacts`
172
+ */
17
173
  static searchSessionsWithContacts({ agentId, ...options }?: SearchSessionsWithContactsOptions): Promise<SearchSessionsWithContactsResponse>;
174
+ /**
175
+ * Retrieves the next session in NEEDS_ACTION state from the queue
176
+ *
177
+ * @param options - Queue configuration including agent and rule tags
178
+ *
179
+ * Required parameters:
180
+ * - `agentId` - (string) ID of agent requesting next session
181
+ *
182
+ * Optional parameters:
183
+ * - `ruleTags` - (string[]) Filter sessions by rule tags
184
+ * - `ignoreRuleTags` - (boolean) Whether to ignore rule tags in filtering
185
+ * - `timeout` - (number) Request timeout in milliseconds
186
+ * - `version` - (string | number) API version to use
187
+ *
188
+ * @returns {Promise<GetQueueSessionResponse>} Promise resolving to next available session
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * // Get next session for agent
193
+ * const session = await hitlApi.sessions.getQueueSession({
194
+ * agentId: 'agent-id'
195
+ * });
196
+ * ```
197
+ *
198
+ * @remarks Makes a GET request to `sessions/helpers/queue`
199
+ */
18
200
  static getQueueSession({ agentId, ruleTags, ...options }: GetQueueSessionOptions): Promise<GetQueueSessionResponse>;
201
+ /**
202
+ * Retrieves available initialization triggers for starting new HitL sessions
203
+ *
204
+ * @param options - Configuration parameters for trigger retrieval
205
+ *
206
+ * Optional parameters:
207
+ * - `timeout` - (number) Request timeout in milliseconds
208
+ * - `version` - (string | number) API version to use
209
+ *
210
+ * @returns {Promise<GetInitTriggersResponse>} Promise resolving to available triggers
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * // Get all available triggers
215
+ * const triggers = await hitlApi.sessions.getSessionInitTriggers();
216
+ * ```
217
+ *
218
+ * @remarks Makes a GET request to `/sessions/helpers/triggers`
219
+ */
19
220
  static getSessionInitTriggers(options?: GetInitTriggersOptions): Promise<GetInitTriggersResponse>;
221
+ /**
222
+ * Claims a session for a specific agent
223
+ *
224
+ * @param options - Claim configuration including agent and parameters
225
+ *
226
+ * Required parameters:
227
+ * - `sessionId` - (string) ID of session to claim
228
+ * - `claimBy` - (string) ID of agent claiming the session
229
+ *
230
+ * Optional parameters:
231
+ * - `params` - (object) Additional claim parameters
232
+ * - `timeout` - (number) Request timeout in milliseconds
233
+ * - `version` - (string | number) API version to use
234
+ *
235
+ * @returns {Promise<Session>} Promise resolving to the claimed session
236
+ * @remarks Makes a POST request to `/api/v2/hitl/sessions/{sessionId}/claim`
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * // Claim session by current token agent
241
+ * const session = await hitlApi.sessions.claimSessionByAgent({
242
+ * sessionId: 'session-id',
243
+ * version: 2
244
+ * });
245
+ * ```
246
+ */
20
247
  static claimSessionByAgent({ claimBy, params, ...options }: ClaimSessionByAgentOptions): Promise<Session>;
248
+ /**
249
+ * Transfers session control back to the bot
250
+ *
251
+ * @param options - Transfer configuration including agent and parameters
252
+ *
253
+ * Required parameters:
254
+ * - `sessionId` - (string) ID of session to transfer
255
+ * - `agentId` - (string) ID of agent transferring the session
256
+ *
257
+ * Optional parameters:
258
+ * - `params` - (object) Additional transfer parameters
259
+ * - `timeout` - (number) Request timeout in milliseconds
260
+ * - `version` - (string | number) API version to use
261
+ *
262
+ * @returns {Promise<Session>} Promise resolving to transferred session
263
+ * @remarks Makes a POST request to `/api/v2/hitl/sessions/{sessionId}/transfer-to-bot`
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * // Basic transfer
268
+ * const session = await hitlApi.sessions.transferToBot({
269
+ * sessionId: 'session-id',
270
+ * });
271
+ * ```
272
+ */
21
273
  static transferToBot({ agentId, params, ...options }: TransferToBotOptions): Promise<Session>;
274
+ /**
275
+ * Initiates a new conversation session
276
+ *
277
+ * @param options - Conversation configuration including contact and trigger details
278
+ *
279
+ * Required parameters:
280
+ * - `contactId` - (string) ID of contact to start conversation with
281
+ * - `triggerId` - (string) ID of trigger to initiate conversation
282
+ *
283
+ * Optional parameters:
284
+ * - `params` - (object) Additional conversation parameters
285
+ * - `timeout` - (number) Request timeout in milliseconds
286
+ * - `version` - (string | number) API version to use
287
+ *
288
+ * @returns {Promise<Session>} Promise resolving to new session
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * // Start basic conversation
293
+ * const session = await hitlApi.sessions.startConversation({
294
+ * contactId: 'contact-id-1',
295
+ * triggerId: 'trigger-id-2'
296
+ * });
297
+ *
298
+ * // Start conversation with parameters
299
+ * const session = await hitlApi.sessions.startConversation({
300
+ * contactId: 'contact-id',
301
+ * triggerId: 'hitl/init-conversation/voice',
302
+ * params: { visibilityTags: [] }
303
+ * });
304
+ * ```
305
+ *
306
+ * @remarks Makes a POST request to `/sessions/start-conversation`
307
+ */
22
308
  static startConversation({ contactId, triggerId, params, ...options }: StartConversationOptions): Promise<Session>;
309
+ /**
310
+ * Updates an existing session with new information
311
+ *
312
+ * @param options - Update configuration including tags and metadata
313
+ *
314
+ * Required parameters:
315
+ * - `sessionId` - (string) ID of session to update
316
+ *
317
+ * Optional parameters:
318
+ * - `tags` - (string[]) New tags for the session
319
+ * - `contactId` - (string) Updated contact ID
320
+ * - `meta` - (object) Updated metadata
321
+ * - `timeout` - (number) Request timeout in milliseconds
322
+ * - `version` - (string | number) API version to use
323
+ *
324
+ * @returns {Promise<Session>} Promise resolving to updated session
325
+ *
326
+ * @example
327
+ * ```typescript
328
+ * const session = await hitlApi.sessions.updateSession({
329
+ * sessionId: 'session-id',
330
+ * tags: ['support'],
331
+ * meta: {
332
+ * status: 'in-progress',
333
+ * priority: 'high',
334
+ * notes: 'Customer requesting callback'
335
+ * }
336
+ * });
337
+ * ```
338
+ *
339
+ * @remarks Makes a PUT request to `/sessions/{sessionId}`
340
+ */
23
341
  static updateSession({ sessionId, tags, contactId, meta, ...options }: UpdateSessionOptions): Promise<Session>;
342
+ /**
343
+ * Creates multiple sessions in bulk
344
+ *
345
+ * @param options - Bulk creation configuration including session details
346
+ *
347
+ * Required parameters:
348
+ * - `sessions` - ({@link Session}[]) Array of session configurations to create
349
+ *
350
+ * Optional parameters:
351
+ * - `timeout` - (number) Request timeout in milliseconds
352
+ * - `version` - (string | number) API version to use
353
+ *
354
+ * @returns {Promise<CreateSessionsResponse>} Promise resolving to creation results
355
+ *
356
+ * @example
357
+ * ```typescript
358
+ * const created = await hitlApi.sessions.createSessions({
359
+ * sessions: [
360
+ * {
361
+ * hitlSessionId: 'session-id',
362
+ * contactId: 'contact-id-1',
363
+ * status: 'CLOSED',
364
+ * isArchived: true,
365
+ * createdAt: new Date('1971'),
366
+ * ruleTags: ['sms'],
367
+ * },
368
+ * {
369
+ * contactId: 'contact-id-2',
370
+ * status: 'ONGOING',
371
+ * ruleTags: ['voice'],
372
+ * },
373
+ * ]
374
+ * });
375
+ * ```
376
+ *
377
+ * @remarks Makes a POST request to `/sessions`
378
+ */
24
379
  static createSessions({ sessions, ...options }: CreateSessionsOptions): Promise<CreateSessionsResponse>;
380
+ /**
381
+ * Closes an active session
382
+ *
383
+ * @param options - Close configuration including session identifier
384
+ *
385
+ * Required parameters:
386
+ * - `sessionId` - (string) ID of session to close
387
+ *
388
+ * Optional parameters:
389
+ * - `timeout` - (number) Request timeout in milliseconds
390
+ * - `version` - (string | number) API version to use
391
+ *
392
+ * @returns {Promise<Session>} Promise resolving to closed session
393
+ *
394
+ * @example
395
+ * ```typescript
396
+ * // Close a session
397
+ * const session = await hitlApi.sessions.closeSession({
398
+ * sessionId: 'session-id'
399
+ * });
400
+ * ```
401
+ *
402
+ * @remarks Makes a POST request to `sessions/{sessionId}/close`
403
+ */
25
404
  static closeSession(options: CloseSessionOptions): Promise<Session>;
26
- static reopenSession(options: ReopenSessionOptions): Promise<Session>;
405
+ /**
406
+ * Reopens a previously closed session
407
+ *
408
+ * @param options - Reopen configuration including session identifier
409
+ *
410
+ * Required parameters:
411
+ * - `sessionId` - (string) ID of session to reopen
412
+ *
413
+ * Optional parameters:
414
+ * - `startedSessionId` - (string) id of session that started before reopen old session
415
+ * - `timeout` - (number) Request timeout in milliseconds
416
+ * - `version` - (string | number) API version to use
417
+ *
418
+ * @returns {Promise<Session>} Promise resolving to reopened session
419
+ *
420
+ * @example
421
+ * ```typescript
422
+ * // Reopen a session
423
+ * const session = await hitlApi.sessions.reopenSession({
424
+ * sessionId: 'session-id'
425
+ * });
426
+ * ```
427
+ *
428
+ * @remarks Makes a POST request to `/sessions/{sessionId}/reopen`
429
+ */
430
+ static reopenSession({ startedSessionId, ...options }: ReopenSessionOptions): Promise<Session>;
431
+ /**
432
+ * Deletes a closed session
433
+ *
434
+ * @param options - Delete configuration including session identifier
435
+ *
436
+ * Required parameters:
437
+ * - `sessionId` - (string) ID of session to delete
438
+ *
439
+ * Optional parameters:
440
+ * - `timeout` - (number) Request timeout in milliseconds
441
+ * - `version` - (string | number) API version to use
442
+ *
443
+ * @returns {Promise<void>} Promise resolving when deletion is complete
444
+ *
445
+ * @example
446
+ * ```typescript
447
+ * // Delete a closed session
448
+ * await hitlApi.sessions.deleteClosedSession({
449
+ * sessionId: 'session-id'
450
+ * });
451
+ * ```
452
+ *
453
+ * @remarks Makes a DELETE request to `/sessions/{sessionId}`
454
+ */
27
455
  static deleteClosedSession(options: DeleteClosedSessionOptions): Promise<unknown>;
456
+ /**
457
+ * @deprecated Use bulkDeleteSessions instead
458
+ */
28
459
  static buldDeleteSessions({ sessionIds, ...options }: BulkDeleteSessionsOptions): Promise<unknown>;
460
+ /**
461
+ * Deletes multiple sessions in bulk
462
+ *
463
+ * @param options - Bulk deletion configuration including session identifiers
464
+ *
465
+ * Required parameters:
466
+ * - `sessionIds` - (string[]) Array of session IDs to delete
467
+ *
468
+ * Optional parameters:
469
+ * - `timeout` - (number) Request timeout in milliseconds
470
+ * - `version` - (string | number) API version to use
471
+ *
472
+ * @returns {Promise<void>} Promise resolving when deletion is complete
473
+ * @remarks Makes a DELETE request to `/api/v2/hitl/sessions`
474
+ *
475
+ * @example
476
+ * ```typescript
477
+ * // Delete multiple sessions
478
+ * await hitlApi.sessions.bulkDeleteSessions({
479
+ * sessionIds: ['session-id-1', 'session-id-2', 'session-id-3']
480
+ * });
481
+ * ```
482
+ */
29
483
  static bulkDeleteSessions({ sessionIds, ...options }: BulkDeleteSessionsOptions): Promise<unknown>;
30
484
  }
31
485
  //# sourceMappingURL=Sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sessions.d.ts","sourceRoot":"","sources":["../../../src/api/Sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sessions.d.ts","sourceRoot":"","sources":["../../../src/api/Sessions.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,157 @@
1
1
  import { DeleteSettingOptions, GetContactBookInfoSettingOptions, GetSettingsOptions, GetSettingsResponse, UpdateSettingsOptions, UpdateSettingsResponse, Settings as SettingsType } from '../types/settings';
2
2
  import { HITLBase } from './HITLBase';
3
+ /**
4
+ * Manages system settings and configuration
5
+ *
6
+ * This class provides functionality to:
7
+ * - Retrieve and manage system settings
8
+ * - Handle contact book information
9
+ * - Manage rule-based settings
10
+ *
11
+ * Key features:
12
+ * - CRUD operations for settings
13
+ * - Special handling for contact book settings
14
+ * - Support for common and specific settings
15
+ *
16
+ * @remarks
17
+ * - All methods in this class interact with the `/settings` endpoint
18
+ * @public
19
+ */
3
20
  export declare class Settings extends HITLBase {
4
21
  protected static readonly MODULE_URL = "settings";
5
22
  protected static readonly CONTACT_BOOK_INFO_URL = "contact-book-info";
6
23
  protected static readonly IGNORE_RULE_TAGS_HEADER = "X-Ignore-Rule-Tags";
24
+ /**
25
+ * Retrieves system settings
26
+ *
27
+ * @param options - Configuration parameters for retrieving settings
28
+ *
29
+ * Optional parameters:
30
+ * - `agentId` - (string) ID of the agent to get specific settings for
31
+ * - `asRecord` - (boolean) Return settings as a record/object instead of an array
32
+ * - `categories` - (string[]) Filter settings by specific categories
33
+ * - `ignoreRuleTags` - (boolean) Whether to ignore rule tags in the response
34
+ * - `isCommon` - (boolean) Retrieve only common settings
35
+ * - `timeout` - (number) Request timeout in milliseconds
36
+ * - `version` - (string | number) API version to use
37
+ *
38
+ * @returns {Promise<GetSettingsResponse>} Promise resolving to the settings data
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Basic usage without options
43
+ * const settings = await hitlApi.settings.getSettings();
44
+ *
45
+ * // Filtered by categories
46
+ * const settings = await hitlApi.settings.getSettings({
47
+ * categories: ['status', 'voice'],
48
+ * isCommon: true,
49
+ * });
50
+ * ```
51
+ *
52
+ * @remarks
53
+ * Makes a GET request to the `/settings` endpoint
54
+ * @public
55
+ */
7
56
  static getSettings({ ignoreRuleTags, ...options }?: GetSettingsOptions): Promise<GetSettingsResponse>;
57
+ /**
58
+ * Retrieves contact book information settings using agent rule groups for triggers
59
+ *
60
+ * @param options - Configuration parameters for retrieving contact book info
61
+ *
62
+ * Optional parameters:
63
+ * - `agentId` - (string) ID of the agent to get specific settings for
64
+ * - `timeout` - (number) Request timeout in milliseconds
65
+ * - `version` - (string | number) API version to use
66
+ *
67
+ * @returns {Promise<SettingsType>} Promise resolving to the contact book settings
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * const contactBookInfo = await hitlApi.settings.getContactBookInfoSetting();
72
+ * ```
73
+ *
74
+ * @remarks
75
+ * Makes a GET request to the `/settings/contact-book-info` endpoint
76
+ * @public
77
+ */
8
78
  static getContactBookInfoSetting(options?: GetContactBookInfoSettingOptions): Promise<SettingsType>;
79
+ /**
80
+ * Updates system settings
81
+ *
82
+ * @param options - Configuration parameters for updating settings
83
+ *
84
+ * Required parameters:
85
+ * - need to use one of - 'data' or 'settings' from Optional parameters
86
+ *
87
+ * Optional parameters:
88
+ * - `agentId` - (string) ID of the agent whose settings are being updated
89
+ * - `data` - (Record<string, any>) Additional data for the setting update
90
+ * - `isCommon` - (boolean) Whether to update common settings
91
+ * - `settings` - (UpdateSettings[]) Array of settings to be updated
92
+ * - `timeout` - (number) Request timeout in milliseconds
93
+ * - `version` - (string | number) API version to use
94
+ *
95
+ * @returns {Promise<UpdateSettingsResponse>} Promise resolving to the updated settings
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * // Update common settings
100
+ * const updated = await hitlApi.settings.updateSettings({
101
+ * isCommon: true,
102
+ * data: {
103
+ * "ui-layout": {
104
+ * "header": {},
105
+ * "version": "3.0"
106
+ * },
107
+ * "avatar": {
108
+ * "custom": {
109
+ * "default": "thumbs",
110
+ * "isEnabled": true
111
+ * },
112
+ * "rounded": true,
113
+ * "gravatar": {
114
+ * "default": "robohash",
115
+ * "isEnabled": false
116
+ * }
117
+ * }
118
+ * }});
119
+ * ```
120
+ *
121
+ * @remarks
122
+ * Makes a PUT request to the `/settings` endpoint
123
+ * @public
124
+ */
9
125
  static updateSettings({ isCommon, data, settings, ...options }: UpdateSettingsOptions): Promise<UpdateSettingsResponse>;
126
+ /**
127
+ * Deletes a specific setting
128
+ *
129
+ * @param options - Configuration parameters for deleting the setting
130
+ *
131
+ * Required parameters:
132
+ * - `category` - (string) Category of the setting to delete
133
+ *
134
+ * Optional parameters:
135
+ * - `agentId` - (string) ID of the agent whose setting is being deleted
136
+ * - `categoryItemId` - (string) Specific item ID within the category
137
+ * - `isCommon` - (boolean) Whether to delete from common settings
138
+ * - `timeout` - (number) Request timeout in milliseconds
139
+ * - `version` - (string | number) API version to use
140
+ *
141
+ * @returns {Promise<GetSettingsResponse>} Promise resolving to the remaining settings
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * const remaining = await hitlApi.settings.deleteSetting({
146
+ * category: 'notifications',
147
+ * isCommon: true
148
+ * });
149
+ * ```
150
+ *
151
+ * @remarks
152
+ * Makes a DELETE request to the `/settings` endpoint
153
+ * @public
154
+ */
10
155
  static deleteSetting(options: DeleteSettingOptions): Promise<GetSettingsResponse>;
11
156
  }
12
157
  //# sourceMappingURL=Settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../src/api/Settings.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,IAAI,YAAY,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmBtC,qBAAa,QAAS,SAAQ,QAAQ;IACpC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAc;IAClD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,uBAAuB;IACtE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,wBAAwB;WAkCrD,WAAW,CAC7B,EAAE,cAAsB,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GAC9D,OAAO,CAAC,mBAAmB,CAAC;WAoCX,yBAAyB,CAC3C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,YAAY,CAAC;WA4DJ,cAAc,CAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,qBAAqB,GAC9D,OAAO,CAAC,sBAAsB,CAAC;WA4Cd,aAAa,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAahC"}
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../src/api/Settings.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,IAAI,YAAY,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAc;IAClD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,uBAAuB;IACtE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,wBAAwB;IAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACiB,WAAW,CAC7B,EAAE,cAAsB,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GAC9D,OAAO,CAAC,mBAAmB,CAAC;IAe/B;;;;;;;;;;;;;;;;;;;;OAoBG;WACiB,yBAAyB,CAC3C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,YAAY,CAAC;IAcxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;WACiB,cAAc,CAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,qBAAqB,GAC9D,OAAO,CAAC,sBAAsB,CAAC;IAelC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACiB,aAAa,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAahC"}