@uipath/uipath-typescript 1.3.2 → 1.3.4
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/dist/assets/index.cjs +21 -8
- package/dist/assets/index.mjs +21 -8
- package/dist/attachments/index.cjs +21 -8
- package/dist/attachments/index.mjs +21 -8
- package/dist/buckets/index.cjs +21 -8
- package/dist/buckets/index.mjs +21 -8
- package/dist/cases/index.cjs +41 -13
- package/dist/cases/index.d.ts +15 -0
- package/dist/cases/index.mjs +41 -13
- package/dist/conversational-agent/index.cjs +39 -8
- package/dist/conversational-agent/index.d.ts +55 -2
- package/dist/conversational-agent/index.mjs +39 -8
- package/dist/core/index.cjs +16 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.mjs +16 -1
- package/dist/entities/index.cjs +55 -8
- package/dist/entities/index.d.ts +54 -0
- package/dist/entities/index.mjs +55 -8
- package/dist/feedback/index.cjs +1911 -0
- package/dist/feedback/index.d.ts +475 -0
- package/dist/feedback/index.mjs +1909 -0
- package/dist/index.cjs +451 -189
- package/dist/index.d.ts +388 -13
- package/dist/index.mjs +452 -190
- package/dist/index.umd.js +451 -189
- package/dist/jobs/index.cjs +384 -8
- package/dist/jobs/index.d.ts +220 -2
- package/dist/jobs/index.mjs +385 -9
- package/dist/maestro-processes/index.cjs +21 -8
- package/dist/maestro-processes/index.mjs +21 -8
- package/dist/processes/index.cjs +21 -8
- package/dist/processes/index.mjs +21 -8
- package/dist/queues/index.cjs +21 -8
- package/dist/queues/index.mjs +21 -8
- package/dist/tasks/index.cjs +41 -13
- package/dist/tasks/index.d.ts +25 -10
- package/dist/tasks/index.mjs +42 -14
- package/package.json +13 -2
package/dist/cases/index.cjs
CHANGED
|
@@ -519,6 +519,8 @@ class ErrorFactory {
|
|
|
519
519
|
|
|
520
520
|
const FOLDER_KEY = 'X-UIPATH-FolderKey';
|
|
521
521
|
const FOLDER_ID = 'X-UIPATH-OrganizationUnitId';
|
|
522
|
+
const TRACEPARENT = 'traceparent';
|
|
523
|
+
const UIPATH_TRACEPARENT_ID = 'x-uipath-traceparent-id';
|
|
522
524
|
/**
|
|
523
525
|
* Content type constants for HTTP requests/responses
|
|
524
526
|
*/
|
|
@@ -572,8 +574,13 @@ class ApiClient {
|
|
|
572
574
|
if (isFormData) {
|
|
573
575
|
delete defaultHeaders['Content-Type'];
|
|
574
576
|
}
|
|
577
|
+
const traceId = crypto.randomUUID().replace(/-/g, '');
|
|
578
|
+
const spanId = crypto.randomUUID().replace(/-/g, '').slice(0, 16);
|
|
579
|
+
const traceparentValue = `00-${traceId}-${spanId}-01`;
|
|
575
580
|
const headers = {
|
|
576
581
|
...defaultHeaders,
|
|
582
|
+
[TRACEPARENT]: traceparentValue,
|
|
583
|
+
[UIPATH_TRACEPARENT_ID]: traceparentValue,
|
|
577
584
|
...options.headers
|
|
578
585
|
};
|
|
579
586
|
// Convert params to URLSearchParams
|
|
@@ -613,7 +620,11 @@ class ApiClient {
|
|
|
613
620
|
const text = await response.text();
|
|
614
621
|
return text;
|
|
615
622
|
}
|
|
616
|
-
|
|
623
|
+
const text = await response.text();
|
|
624
|
+
if (!text) {
|
|
625
|
+
return undefined;
|
|
626
|
+
}
|
|
627
|
+
return JSON.parse(text);
|
|
617
628
|
}
|
|
618
629
|
catch (error) {
|
|
619
630
|
// If it's already one of our errors, re-throw it
|
|
@@ -1387,8 +1398,9 @@ class PaginationHelpers {
|
|
|
1387
1398
|
});
|
|
1388
1399
|
}
|
|
1389
1400
|
// Extract and transform items from response
|
|
1390
|
-
|
|
1391
|
-
const
|
|
1401
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1402
|
+
const rawItems = Array.isArray(response.data) ? response.data : response.data?.[itemsField];
|
|
1403
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data?.[totalCountField];
|
|
1392
1404
|
// Parse items - automatically handle JSON string responses
|
|
1393
1405
|
const parsedItems = typeof rawItems === 'string' ? JSON.parse(rawItems) : (rawItems || []);
|
|
1394
1406
|
const items = transformFn ? parsedItems.map(transformFn) : parsedItems;
|
|
@@ -1639,7 +1651,7 @@ class BaseService {
|
|
|
1639
1651
|
const params = this.validateAndPreparePaginationParams(paginationType, paginationOptions);
|
|
1640
1652
|
// Prepare request parameters based on pagination type
|
|
1641
1653
|
const requestParams = this.preparePaginationRequestParams(paginationType, params, options.pagination);
|
|
1642
|
-
// For POST requests, merge pagination params into body; for GET, use query params
|
|
1654
|
+
// For POST requests, merge pagination params into body and set params to undefined; for GET, use query params
|
|
1643
1655
|
if (method.toUpperCase() === 'POST') {
|
|
1644
1656
|
const existingBody = (options.body && typeof options.body === 'object') ? options.body : {};
|
|
1645
1657
|
options.body = {
|
|
@@ -1647,6 +1659,7 @@ class BaseService {
|
|
|
1647
1659
|
...options.params,
|
|
1648
1660
|
...requestParams
|
|
1649
1661
|
};
|
|
1662
|
+
options.params = undefined;
|
|
1650
1663
|
}
|
|
1651
1664
|
else {
|
|
1652
1665
|
// Merge pagination parameters with existing parameters
|
|
@@ -1687,7 +1700,6 @@ class BaseService {
|
|
|
1687
1700
|
if (params.pageNumber && params.pageNumber > 1) {
|
|
1688
1701
|
requestParams[offsetParam] = (params.pageNumber - 1) * limitedPageSize;
|
|
1689
1702
|
}
|
|
1690
|
-
// Include total count for ODATA APIs
|
|
1691
1703
|
{
|
|
1692
1704
|
requestParams[countParam] = true;
|
|
1693
1705
|
}
|
|
@@ -1715,8 +1727,9 @@ class BaseService {
|
|
|
1715
1727
|
const totalCountField = fields.totalCountField || 'totalRecordCount';
|
|
1716
1728
|
const continuationTokenField = fields.continuationTokenField || 'continuationToken';
|
|
1717
1729
|
// Extract items and metadata
|
|
1718
|
-
|
|
1719
|
-
const
|
|
1730
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1731
|
+
const items = Array.isArray(response.data) ? response.data : (response.data[itemsField] || []);
|
|
1732
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data[totalCountField];
|
|
1720
1733
|
const continuationToken = response.data[continuationTokenField];
|
|
1721
1734
|
// Determine if there are more pages
|
|
1722
1735
|
const hasMore = this.determineHasMorePages(paginationType, {
|
|
@@ -1829,7 +1842,7 @@ const MAESTRO_ENDPOINTS = {
|
|
|
1829
1842
|
// Connection string placeholder that will be replaced during build
|
|
1830
1843
|
const CONNECTION_STRING = "InstrumentationKey=a6efa11d-1feb-4508-9738-e13e12dcae5e;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=7c58eb1c-9581-4ba6-839e-11725848a037";
|
|
1831
1844
|
// SDK Version placeholder
|
|
1832
|
-
const SDK_VERSION = "1.3.
|
|
1845
|
+
const SDK_VERSION = "1.3.4";
|
|
1833
1846
|
const VERSION = "Version";
|
|
1834
1847
|
const SERVICE = "Service";
|
|
1835
1848
|
const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
|
|
@@ -2395,6 +2408,21 @@ const CASE_INSTANCE_TASK_FILTER = (caseInstanceId) => `Tags/any(tags:tags/Displa
|
|
|
2395
2408
|
*/
|
|
2396
2409
|
const CASE_INSTANCE_TASK_EXPAND = 'AssignedToUser,Activities';
|
|
2397
2410
|
|
|
2411
|
+
var TaskUserType;
|
|
2412
|
+
(function (TaskUserType) {
|
|
2413
|
+
/** A user of this type is supposed to be used by a human. */
|
|
2414
|
+
TaskUserType["User"] = "User";
|
|
2415
|
+
/** A user of this type is automatically created when adding a robot, is associated with Robot role and it is used by a robot when communicating with Orchestrator. */
|
|
2416
|
+
TaskUserType["Robot"] = "Robot";
|
|
2417
|
+
/** A user of type Directory User */
|
|
2418
|
+
TaskUserType["DirectoryUser"] = "DirectoryUser";
|
|
2419
|
+
/** A user of type Directory Group */
|
|
2420
|
+
TaskUserType["DirectoryGroup"] = "DirectoryGroup";
|
|
2421
|
+
/** A user of type Directory Robot Account */
|
|
2422
|
+
TaskUserType["DirectoryRobot"] = "DirectoryRobot";
|
|
2423
|
+
/** A user of type Directory External Application */
|
|
2424
|
+
TaskUserType["DirectoryExternalApplication"] = "DirectoryExternalApplication";
|
|
2425
|
+
})(TaskUserType || (TaskUserType = {}));
|
|
2398
2426
|
/**
|
|
2399
2427
|
* Types of tasks available in Action Center.
|
|
2400
2428
|
* Each type determines the task's behavior, UI rendering, and completion requirements.
|
|
@@ -2618,15 +2646,15 @@ class TaskService extends BaseService {
|
|
|
2618
2646
|
return createTaskWithMethods(transformedData, this);
|
|
2619
2647
|
}
|
|
2620
2648
|
/**
|
|
2621
|
-
* Gets users in the given folder who have Tasks.View and Tasks.Edit permissions
|
|
2649
|
+
* Gets task users (users, robots, groups etc) in the given folder who have Tasks.View and Tasks.Edit permissions
|
|
2622
2650
|
*
|
|
2623
2651
|
* The method returns either:
|
|
2624
|
-
* - An array of users (when no pagination parameters are provided)
|
|
2652
|
+
* - An array of task users (when no pagination parameters are provided)
|
|
2625
2653
|
* - A paginated result with navigation cursors (when any pagination parameter is provided)
|
|
2626
2654
|
*
|
|
2627
|
-
* @param folderId - The folder ID to get users from
|
|
2655
|
+
* @param folderId - The folder ID to get task users from
|
|
2628
2656
|
* @param options - Optional query and pagination parameters
|
|
2629
|
-
* @returns Promise resolving to an array of users or paginated result
|
|
2657
|
+
* @returns Promise resolving to an array of task users or paginated result
|
|
2630
2658
|
*
|
|
2631
2659
|
* @example
|
|
2632
2660
|
* ```typescript
|
|
@@ -2637,7 +2665,7 @@ class TaskService extends BaseService {
|
|
|
2637
2665
|
* // Standard array return
|
|
2638
2666
|
* const users = await tasks.getUsers(123);
|
|
2639
2667
|
*
|
|
2640
|
-
* // Get users with filtering
|
|
2668
|
+
* // Get task users with filtering
|
|
2641
2669
|
* const users = await tasks.getUsers(123, {
|
|
2642
2670
|
* filter: "name eq 'abc'"
|
|
2643
2671
|
* });
|
package/dist/cases/index.d.ts
CHANGED
|
@@ -414,6 +414,20 @@ interface ElementRunMetadata {
|
|
|
414
414
|
parentElementRunId: string | null;
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
+
declare enum TaskUserType {
|
|
418
|
+
/** A user of this type is supposed to be used by a human. */
|
|
419
|
+
User = "User",
|
|
420
|
+
/** A user of this type is automatically created when adding a robot, is associated with Robot role and it is used by a robot when communicating with Orchestrator. */
|
|
421
|
+
Robot = "Robot",
|
|
422
|
+
/** A user of type Directory User */
|
|
423
|
+
DirectoryUser = "DirectoryUser",
|
|
424
|
+
/** A user of type Directory Group */
|
|
425
|
+
DirectoryGroup = "DirectoryGroup",
|
|
426
|
+
/** A user of type Directory Robot Account */
|
|
427
|
+
DirectoryRobot = "DirectoryRobot",
|
|
428
|
+
/** A user of type Directory External Application */
|
|
429
|
+
DirectoryExternalApplication = "DirectoryExternalApplication"
|
|
430
|
+
}
|
|
417
431
|
interface UserLoginInfo {
|
|
418
432
|
name: string;
|
|
419
433
|
surname: string;
|
|
@@ -421,6 +435,7 @@ interface UserLoginInfo {
|
|
|
421
435
|
emailAddress: string;
|
|
422
436
|
displayName: string;
|
|
423
437
|
id: number;
|
|
438
|
+
type: TaskUserType;
|
|
424
439
|
}
|
|
425
440
|
/**
|
|
426
441
|
* Types of tasks available in Action Center.
|
package/dist/cases/index.mjs
CHANGED
|
@@ -517,6 +517,8 @@ class ErrorFactory {
|
|
|
517
517
|
|
|
518
518
|
const FOLDER_KEY = 'X-UIPATH-FolderKey';
|
|
519
519
|
const FOLDER_ID = 'X-UIPATH-OrganizationUnitId';
|
|
520
|
+
const TRACEPARENT = 'traceparent';
|
|
521
|
+
const UIPATH_TRACEPARENT_ID = 'x-uipath-traceparent-id';
|
|
520
522
|
/**
|
|
521
523
|
* Content type constants for HTTP requests/responses
|
|
522
524
|
*/
|
|
@@ -570,8 +572,13 @@ class ApiClient {
|
|
|
570
572
|
if (isFormData) {
|
|
571
573
|
delete defaultHeaders['Content-Type'];
|
|
572
574
|
}
|
|
575
|
+
const traceId = crypto.randomUUID().replace(/-/g, '');
|
|
576
|
+
const spanId = crypto.randomUUID().replace(/-/g, '').slice(0, 16);
|
|
577
|
+
const traceparentValue = `00-${traceId}-${spanId}-01`;
|
|
573
578
|
const headers = {
|
|
574
579
|
...defaultHeaders,
|
|
580
|
+
[TRACEPARENT]: traceparentValue,
|
|
581
|
+
[UIPATH_TRACEPARENT_ID]: traceparentValue,
|
|
575
582
|
...options.headers
|
|
576
583
|
};
|
|
577
584
|
// Convert params to URLSearchParams
|
|
@@ -611,7 +618,11 @@ class ApiClient {
|
|
|
611
618
|
const text = await response.text();
|
|
612
619
|
return text;
|
|
613
620
|
}
|
|
614
|
-
|
|
621
|
+
const text = await response.text();
|
|
622
|
+
if (!text) {
|
|
623
|
+
return undefined;
|
|
624
|
+
}
|
|
625
|
+
return JSON.parse(text);
|
|
615
626
|
}
|
|
616
627
|
catch (error) {
|
|
617
628
|
// If it's already one of our errors, re-throw it
|
|
@@ -1385,8 +1396,9 @@ class PaginationHelpers {
|
|
|
1385
1396
|
});
|
|
1386
1397
|
}
|
|
1387
1398
|
// Extract and transform items from response
|
|
1388
|
-
|
|
1389
|
-
const
|
|
1399
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1400
|
+
const rawItems = Array.isArray(response.data) ? response.data : response.data?.[itemsField];
|
|
1401
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data?.[totalCountField];
|
|
1390
1402
|
// Parse items - automatically handle JSON string responses
|
|
1391
1403
|
const parsedItems = typeof rawItems === 'string' ? JSON.parse(rawItems) : (rawItems || []);
|
|
1392
1404
|
const items = transformFn ? parsedItems.map(transformFn) : parsedItems;
|
|
@@ -1637,7 +1649,7 @@ class BaseService {
|
|
|
1637
1649
|
const params = this.validateAndPreparePaginationParams(paginationType, paginationOptions);
|
|
1638
1650
|
// Prepare request parameters based on pagination type
|
|
1639
1651
|
const requestParams = this.preparePaginationRequestParams(paginationType, params, options.pagination);
|
|
1640
|
-
// For POST requests, merge pagination params into body; for GET, use query params
|
|
1652
|
+
// For POST requests, merge pagination params into body and set params to undefined; for GET, use query params
|
|
1641
1653
|
if (method.toUpperCase() === 'POST') {
|
|
1642
1654
|
const existingBody = (options.body && typeof options.body === 'object') ? options.body : {};
|
|
1643
1655
|
options.body = {
|
|
@@ -1645,6 +1657,7 @@ class BaseService {
|
|
|
1645
1657
|
...options.params,
|
|
1646
1658
|
...requestParams
|
|
1647
1659
|
};
|
|
1660
|
+
options.params = undefined;
|
|
1648
1661
|
}
|
|
1649
1662
|
else {
|
|
1650
1663
|
// Merge pagination parameters with existing parameters
|
|
@@ -1685,7 +1698,6 @@ class BaseService {
|
|
|
1685
1698
|
if (params.pageNumber && params.pageNumber > 1) {
|
|
1686
1699
|
requestParams[offsetParam] = (params.pageNumber - 1) * limitedPageSize;
|
|
1687
1700
|
}
|
|
1688
|
-
// Include total count for ODATA APIs
|
|
1689
1701
|
{
|
|
1690
1702
|
requestParams[countParam] = true;
|
|
1691
1703
|
}
|
|
@@ -1713,8 +1725,9 @@ class BaseService {
|
|
|
1713
1725
|
const totalCountField = fields.totalCountField || 'totalRecordCount';
|
|
1714
1726
|
const continuationTokenField = fields.continuationTokenField || 'continuationToken';
|
|
1715
1727
|
// Extract items and metadata
|
|
1716
|
-
|
|
1717
|
-
const
|
|
1728
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1729
|
+
const items = Array.isArray(response.data) ? response.data : (response.data[itemsField] || []);
|
|
1730
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data[totalCountField];
|
|
1718
1731
|
const continuationToken = response.data[continuationTokenField];
|
|
1719
1732
|
// Determine if there are more pages
|
|
1720
1733
|
const hasMore = this.determineHasMorePages(paginationType, {
|
|
@@ -1827,7 +1840,7 @@ const MAESTRO_ENDPOINTS = {
|
|
|
1827
1840
|
// Connection string placeholder that will be replaced during build
|
|
1828
1841
|
const CONNECTION_STRING = "InstrumentationKey=a6efa11d-1feb-4508-9738-e13e12dcae5e;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=7c58eb1c-9581-4ba6-839e-11725848a037";
|
|
1829
1842
|
// SDK Version placeholder
|
|
1830
|
-
const SDK_VERSION = "1.3.
|
|
1843
|
+
const SDK_VERSION = "1.3.4";
|
|
1831
1844
|
const VERSION = "Version";
|
|
1832
1845
|
const SERVICE = "Service";
|
|
1833
1846
|
const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
|
|
@@ -2393,6 +2406,21 @@ const CASE_INSTANCE_TASK_FILTER = (caseInstanceId) => `Tags/any(tags:tags/Displa
|
|
|
2393
2406
|
*/
|
|
2394
2407
|
const CASE_INSTANCE_TASK_EXPAND = 'AssignedToUser,Activities';
|
|
2395
2408
|
|
|
2409
|
+
var TaskUserType;
|
|
2410
|
+
(function (TaskUserType) {
|
|
2411
|
+
/** A user of this type is supposed to be used by a human. */
|
|
2412
|
+
TaskUserType["User"] = "User";
|
|
2413
|
+
/** A user of this type is automatically created when adding a robot, is associated with Robot role and it is used by a robot when communicating with Orchestrator. */
|
|
2414
|
+
TaskUserType["Robot"] = "Robot";
|
|
2415
|
+
/** A user of type Directory User */
|
|
2416
|
+
TaskUserType["DirectoryUser"] = "DirectoryUser";
|
|
2417
|
+
/** A user of type Directory Group */
|
|
2418
|
+
TaskUserType["DirectoryGroup"] = "DirectoryGroup";
|
|
2419
|
+
/** A user of type Directory Robot Account */
|
|
2420
|
+
TaskUserType["DirectoryRobot"] = "DirectoryRobot";
|
|
2421
|
+
/** A user of type Directory External Application */
|
|
2422
|
+
TaskUserType["DirectoryExternalApplication"] = "DirectoryExternalApplication";
|
|
2423
|
+
})(TaskUserType || (TaskUserType = {}));
|
|
2396
2424
|
/**
|
|
2397
2425
|
* Types of tasks available in Action Center.
|
|
2398
2426
|
* Each type determines the task's behavior, UI rendering, and completion requirements.
|
|
@@ -2616,15 +2644,15 @@ class TaskService extends BaseService {
|
|
|
2616
2644
|
return createTaskWithMethods(transformedData, this);
|
|
2617
2645
|
}
|
|
2618
2646
|
/**
|
|
2619
|
-
* Gets users in the given folder who have Tasks.View and Tasks.Edit permissions
|
|
2647
|
+
* Gets task users (users, robots, groups etc) in the given folder who have Tasks.View and Tasks.Edit permissions
|
|
2620
2648
|
*
|
|
2621
2649
|
* The method returns either:
|
|
2622
|
-
* - An array of users (when no pagination parameters are provided)
|
|
2650
|
+
* - An array of task users (when no pagination parameters are provided)
|
|
2623
2651
|
* - A paginated result with navigation cursors (when any pagination parameter is provided)
|
|
2624
2652
|
*
|
|
2625
|
-
* @param folderId - The folder ID to get users from
|
|
2653
|
+
* @param folderId - The folder ID to get task users from
|
|
2626
2654
|
* @param options - Optional query and pagination parameters
|
|
2627
|
-
* @returns Promise resolving to an array of users or paginated result
|
|
2655
|
+
* @returns Promise resolving to an array of task users or paginated result
|
|
2628
2656
|
*
|
|
2629
2657
|
* @example
|
|
2630
2658
|
* ```typescript
|
|
@@ -2635,7 +2663,7 @@ class TaskService extends BaseService {
|
|
|
2635
2663
|
* // Standard array return
|
|
2636
2664
|
* const users = await tasks.getUsers(123);
|
|
2637
2665
|
*
|
|
2638
|
-
* // Get users with filtering
|
|
2666
|
+
* // Get task users with filtering
|
|
2639
2667
|
* const users = await tasks.getUsers(123, {
|
|
2640
2668
|
* filter: "name eq 'abc'"
|
|
2641
2669
|
* });
|
|
@@ -51,7 +51,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
51
51
|
// Connection string placeholder that will be replaced during build
|
|
52
52
|
const CONNECTION_STRING = "InstrumentationKey=a6efa11d-1feb-4508-9738-e13e12dcae5e;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=7c58eb1c-9581-4ba6-839e-11725848a037";
|
|
53
53
|
// SDK Version placeholder
|
|
54
|
-
const SDK_VERSION = "1.3.
|
|
54
|
+
const SDK_VERSION = "1.3.4";
|
|
55
55
|
const VERSION = "Version";
|
|
56
56
|
const SERVICE = "Service";
|
|
57
57
|
const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
|
|
@@ -781,6 +781,8 @@ class ErrorFactory {
|
|
|
781
781
|
}
|
|
782
782
|
|
|
783
783
|
const FOLDER_ID = 'X-UIPATH-OrganizationUnitId';
|
|
784
|
+
const TRACEPARENT = 'traceparent';
|
|
785
|
+
const UIPATH_TRACEPARENT_ID = 'x-uipath-traceparent-id';
|
|
784
786
|
/**
|
|
785
787
|
* Content type constants for HTTP requests/responses
|
|
786
788
|
*/
|
|
@@ -847,8 +849,13 @@ class ApiClient {
|
|
|
847
849
|
if (isFormData) {
|
|
848
850
|
delete defaultHeaders['Content-Type'];
|
|
849
851
|
}
|
|
852
|
+
const traceId = crypto.randomUUID().replace(/-/g, '');
|
|
853
|
+
const spanId = crypto.randomUUID().replace(/-/g, '').slice(0, 16);
|
|
854
|
+
const traceparentValue = `00-${traceId}-${spanId}-01`;
|
|
850
855
|
const headers = {
|
|
851
856
|
...defaultHeaders,
|
|
857
|
+
[TRACEPARENT]: traceparentValue,
|
|
858
|
+
[UIPATH_TRACEPARENT_ID]: traceparentValue,
|
|
852
859
|
...options.headers
|
|
853
860
|
};
|
|
854
861
|
// Convert params to URLSearchParams
|
|
@@ -888,7 +895,11 @@ class ApiClient {
|
|
|
888
895
|
const text = await response.text();
|
|
889
896
|
return text;
|
|
890
897
|
}
|
|
891
|
-
|
|
898
|
+
const text = await response.text();
|
|
899
|
+
if (!text) {
|
|
900
|
+
return undefined;
|
|
901
|
+
}
|
|
902
|
+
return JSON.parse(text);
|
|
892
903
|
}
|
|
893
904
|
catch (error) {
|
|
894
905
|
// If it's already one of our errors, re-throw it
|
|
@@ -1544,8 +1555,9 @@ class PaginationHelpers {
|
|
|
1544
1555
|
});
|
|
1545
1556
|
}
|
|
1546
1557
|
// Extract and transform items from response
|
|
1547
|
-
|
|
1548
|
-
const
|
|
1558
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1559
|
+
const rawItems = Array.isArray(response.data) ? response.data : response.data?.[itemsField];
|
|
1560
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data?.[totalCountField];
|
|
1549
1561
|
// Parse items - automatically handle JSON string responses
|
|
1550
1562
|
const parsedItems = typeof rawItems === 'string' ? JSON.parse(rawItems) : (rawItems || []);
|
|
1551
1563
|
const items = transformFn ? parsedItems.map(transformFn) : parsedItems;
|
|
@@ -1796,7 +1808,7 @@ class BaseService {
|
|
|
1796
1808
|
const params = this.validateAndPreparePaginationParams(paginationType, paginationOptions);
|
|
1797
1809
|
// Prepare request parameters based on pagination type
|
|
1798
1810
|
const requestParams = this.preparePaginationRequestParams(paginationType, params, options.pagination);
|
|
1799
|
-
// For POST requests, merge pagination params into body; for GET, use query params
|
|
1811
|
+
// For POST requests, merge pagination params into body and set params to undefined; for GET, use query params
|
|
1800
1812
|
if (method.toUpperCase() === 'POST') {
|
|
1801
1813
|
const existingBody = (options.body && typeof options.body === 'object') ? options.body : {};
|
|
1802
1814
|
options.body = {
|
|
@@ -1804,6 +1816,7 @@ class BaseService {
|
|
|
1804
1816
|
...options.params,
|
|
1805
1817
|
...requestParams
|
|
1806
1818
|
};
|
|
1819
|
+
options.params = undefined;
|
|
1807
1820
|
}
|
|
1808
1821
|
else {
|
|
1809
1822
|
// Merge pagination parameters with existing parameters
|
|
@@ -1844,7 +1857,6 @@ class BaseService {
|
|
|
1844
1857
|
if (params.pageNumber && params.pageNumber > 1) {
|
|
1845
1858
|
requestParams[offsetParam] = (params.pageNumber - 1) * limitedPageSize;
|
|
1846
1859
|
}
|
|
1847
|
-
// Include total count for ODATA APIs
|
|
1848
1860
|
{
|
|
1849
1861
|
requestParams[countParam] = true;
|
|
1850
1862
|
}
|
|
@@ -1872,8 +1884,9 @@ class BaseService {
|
|
|
1872
1884
|
const totalCountField = fields.totalCountField || 'totalRecordCount';
|
|
1873
1885
|
const continuationTokenField = fields.continuationTokenField || 'continuationToken';
|
|
1874
1886
|
// Extract items and metadata
|
|
1875
|
-
|
|
1876
|
-
const
|
|
1887
|
+
// Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
|
|
1888
|
+
const items = Array.isArray(response.data) ? response.data : (response.data[itemsField] || []);
|
|
1889
|
+
const totalCount = Array.isArray(response.data) ? undefined : response.data[totalCountField];
|
|
1877
1890
|
const continuationToken = response.data[continuationTokenField];
|
|
1878
1891
|
// Determine if there are more pages
|
|
1879
1892
|
const hasMore = this.determineHasMorePages(paginationType, {
|
|
@@ -6310,6 +6323,21 @@ class ConversationService extends BaseService {
|
|
|
6310
6323
|
onConnectionStatusChanged(handler) {
|
|
6311
6324
|
return this._sessionManager.onConnectionStatusChanged(handler);
|
|
6312
6325
|
}
|
|
6326
|
+
/**
|
|
6327
|
+
* Closes the WebSocket connection and releases all session resources.
|
|
6328
|
+
*
|
|
6329
|
+
* In Node.js the WebSocket keeps the event loop alive until disconnected,
|
|
6330
|
+
* so call this to allow the process to exit cleanly. In the browser the
|
|
6331
|
+
* runtime handles socket cleanup on page unload, so this is effectively a no-op.
|
|
6332
|
+
*
|
|
6333
|
+
* @example
|
|
6334
|
+
* ```typescript
|
|
6335
|
+
* conversationalAgent.conversations.disconnect();
|
|
6336
|
+
* ```
|
|
6337
|
+
*/
|
|
6338
|
+
disconnect() {
|
|
6339
|
+
this._sessionManager.disconnect();
|
|
6340
|
+
}
|
|
6313
6341
|
// ==================== Private Methods ====================
|
|
6314
6342
|
_getEvents() {
|
|
6315
6343
|
if (this._eventHelper === null) {
|
|
@@ -6345,6 +6373,9 @@ __decorate([
|
|
|
6345
6373
|
__decorate([
|
|
6346
6374
|
track('ConversationalAgent.Conversations.CreateAttachment')
|
|
6347
6375
|
], ConversationService.prototype, "getAttachmentUploadUri", null);
|
|
6376
|
+
__decorate([
|
|
6377
|
+
track('ConversationalAgent.Conversations.Disconnect')
|
|
6378
|
+
], ConversationService.prototype, "disconnect", null);
|
|
6348
6379
|
|
|
6349
6380
|
/**
|
|
6350
6381
|
* MessageService - Message operations for Conversations
|
|
@@ -429,6 +429,12 @@ interface ExternalValue {
|
|
|
429
429
|
* from which the data can be downloaded.
|
|
430
430
|
*/
|
|
431
431
|
type InlineOrExternalValue<T> = InlineValue<T> | ExternalValue;
|
|
432
|
+
/**
|
|
433
|
+
* Input arguments passed in to the execution of the agent on each exchange. The input arguments are
|
|
434
|
+
* expected to match the input-schema defined in the Agent definition. Currently, only inline values
|
|
435
|
+
* are supported and the total serialized JSON payload must be less than 4,000 characters.
|
|
436
|
+
*/
|
|
437
|
+
type AgentInput = InlineValue<JSONObject>;
|
|
432
438
|
/**
|
|
433
439
|
* Tool call input value type.
|
|
434
440
|
*/
|
|
@@ -800,6 +806,10 @@ interface RawConversationGetResponse {
|
|
|
800
806
|
* Whether the conversation's job is running locally.
|
|
801
807
|
*/
|
|
802
808
|
isLocalJobExecution?: boolean;
|
|
809
|
+
/**
|
|
810
|
+
* Optional agent input arguments for the conversation.
|
|
811
|
+
*/
|
|
812
|
+
agentInput?: AgentInput;
|
|
803
813
|
}
|
|
804
814
|
|
|
805
815
|
/**
|
|
@@ -3689,7 +3699,7 @@ interface ConversationServiceModel {
|
|
|
3689
3699
|
* @param options - Optional settings for the conversation
|
|
3690
3700
|
* @returns Promise resolving to {@link ConversationCreateResponse} with bound methods
|
|
3691
3701
|
*
|
|
3692
|
-
* @example
|
|
3702
|
+
* @example Basic usage
|
|
3693
3703
|
* ```typescript
|
|
3694
3704
|
* const conversation = await conversationalAgent.conversations.create(
|
|
3695
3705
|
* agentId,
|
|
@@ -3706,6 +3716,19 @@ interface ConversationServiceModel {
|
|
|
3706
3716
|
* // Delete the conversation
|
|
3707
3717
|
* await conversation.delete();
|
|
3708
3718
|
* ```
|
|
3719
|
+
*
|
|
3720
|
+
* @example With agent input arguments
|
|
3721
|
+
* ```typescript
|
|
3722
|
+
* const conversation = await conversationalAgent.conversations.create(
|
|
3723
|
+
* agentId,
|
|
3724
|
+
* folderId,
|
|
3725
|
+
* {
|
|
3726
|
+
* agentInput: {
|
|
3727
|
+
* inline: { userId: 'user-123', language: 'en' }
|
|
3728
|
+
* }
|
|
3729
|
+
* }
|
|
3730
|
+
* );
|
|
3731
|
+
* ```
|
|
3709
3732
|
*/
|
|
3710
3733
|
create(agentId: number, folderId: number, options?: ConversationCreateOptions): Promise<ConversationCreateResponse>;
|
|
3711
3734
|
/**
|
|
@@ -3941,6 +3964,19 @@ interface ConversationServiceModel {
|
|
|
3941
3964
|
* @internal
|
|
3942
3965
|
*/
|
|
3943
3966
|
onConnectionStatusChanged(handler: ConnectionStatusChangedHandler): () => void;
|
|
3967
|
+
/**
|
|
3968
|
+
* Closes the WebSocket connection and releases all session resources.
|
|
3969
|
+
*
|
|
3970
|
+
* In Node.js the WebSocket keeps the event loop alive until disconnected,
|
|
3971
|
+
* so call this to allow the process to exit cleanly. In the browser the
|
|
3972
|
+
* runtime handles socket cleanup on page unload, so this is effectively a no-op.
|
|
3973
|
+
*
|
|
3974
|
+
* @example
|
|
3975
|
+
* ```typescript
|
|
3976
|
+
* conversationalAgent.conversations.disconnect();
|
|
3977
|
+
* ```
|
|
3978
|
+
*/
|
|
3979
|
+
disconnect(): void;
|
|
3944
3980
|
}
|
|
3945
3981
|
/**
|
|
3946
3982
|
* Methods interface that will be added to conversation objects
|
|
@@ -4104,6 +4140,8 @@ interface ConversationCreateOptions {
|
|
|
4104
4140
|
traceId?: string;
|
|
4105
4141
|
/** Optional configuration for job start behavior */
|
|
4106
4142
|
jobStartOverrides?: ConversationJobStartOverrides;
|
|
4143
|
+
/** Input arguments for the agent */
|
|
4144
|
+
agentInput?: AgentInput;
|
|
4107
4145
|
}
|
|
4108
4146
|
interface ConversationUpdateOptions {
|
|
4109
4147
|
/** Human-readable label for the conversation */
|
|
@@ -4114,6 +4152,8 @@ interface ConversationUpdateOptions {
|
|
|
4114
4152
|
jobKey?: string;
|
|
4115
4153
|
/** Whether the conversation's job is running locally */
|
|
4116
4154
|
isLocalJobExecution?: boolean;
|
|
4155
|
+
/** Input arguments for the agent */
|
|
4156
|
+
agentInput?: AgentInput;
|
|
4117
4157
|
}
|
|
4118
4158
|
type ConversationGetAllOptions = PaginationOptions & {
|
|
4119
4159
|
/** Sort order for conversations */
|
|
@@ -6309,6 +6349,19 @@ declare class ConversationService extends BaseService implements ConversationSer
|
|
|
6309
6349
|
* @returns Cleanup function to remove handler
|
|
6310
6350
|
*/
|
|
6311
6351
|
onConnectionStatusChanged(handler: ConnectionStatusChangedHandler): () => void;
|
|
6352
|
+
/**
|
|
6353
|
+
* Closes the WebSocket connection and releases all session resources.
|
|
6354
|
+
*
|
|
6355
|
+
* In Node.js the WebSocket keeps the event loop alive until disconnected,
|
|
6356
|
+
* so call this to allow the process to exit cleanly. In the browser the
|
|
6357
|
+
* runtime handles socket cleanup on page unload, so this is effectively a no-op.
|
|
6358
|
+
*
|
|
6359
|
+
* @example
|
|
6360
|
+
* ```typescript
|
|
6361
|
+
* conversationalAgent.conversations.disconnect();
|
|
6362
|
+
* ```
|
|
6363
|
+
*/
|
|
6364
|
+
disconnect(): void;
|
|
6312
6365
|
private _getEvents;
|
|
6313
6366
|
}
|
|
6314
6367
|
|
|
@@ -6664,4 +6717,4 @@ declare class UserService extends BaseService implements UserServiceModel {
|
|
|
6664
6717
|
}
|
|
6665
6718
|
|
|
6666
6719
|
export { AgentMap, AsyncInputStreamEventHelper, AsyncInputStreamEventHelperImpl, AsyncToolCallEventHelper, AsyncToolCallEventHelperImpl, CitationErrorType, ContentPartEventHelper, ContentPartEventHelperImpl, ContentPartHelper, ConversationEventHelperBase, ConversationEventHelperManager, ConversationEventHelperManagerImpl, ConversationEventInvalidOperationError, ConversationEventValidationError, ConversationMap, ConversationalAgentService as ConversationalAgent, ConversationalAgentService, EventErrorId, ExchangeEventHelper, ExchangeEventHelperImpl, ExchangeMap, ExchangeService, ExchangeService as Exchanges, FeedbackRating, InputStreamSpeechSensitivity, InterruptType, MessageEventHelper, MessageEventHelperImpl, MessageMap, MessageRole, MessageService, MessageService as Messages, SessionEventHelper, SessionEventHelperImpl, SortOrder, ToolCallEventHelper, ToolCallEventHelperImpl, UserService as User, UserService, UserSettingsMap, assertCitationSourceMedia, assertCitationSourceUrl, assertExternalValue, assertInlineValue, createAgentWithMethods, createConversationWithMethods, isCitationSourceMedia, isCitationSourceUrl, isExternalValue, isInlineValue, transformExchange, transformExchanges, transformMessage };
|
|
6667
|
-
export type { AgentAppearance, AgentConversationServiceModel, AgentCreateConversationOptions, AgentGetByIdResponse, AgentGetResponse, AgentMethods, AgentStartingPrompt, AnyErrorEndHandler, AnyErrorEndHandlerArgs, AnyErrorStartHandler, AnyErrorStartHandlerArgs, AsyncInputStream, AsyncInputStreamChunkEvent, AsyncInputStreamChunkHandler, AsyncInputStreamEndEvent, AsyncInputStreamEndHandler, AsyncInputStreamEvent, AsyncInputStreamStartEvent, AsyncToolCallStartHandler, AsyncToolCallStartHandlerAsync, AsyncToolCallStream, ChunkHandler, Citation, CitationEndEvent, CitationError, CitationEvent, CitationOptions, CitationSource, CitationSourceBase, CitationSourceMedia, CitationSourceUrl, CitationStartEvent, CompletedContentPart, CompletedMessage, CompletedToolCall, ContentPart, ContentPartChunkEvent, ContentPartCompletedHandler, ContentPartData, ContentPartEndEvent, ContentPartEndHandler, ContentPartEvent, ContentPartGetResponse, ContentPartInterrupted, ContentPartStartEvent, ContentPartStartEventOptions, ContentPartStartEventWithData, ContentPartStartHandler, ContentPartStartHandlerAsync, ContentPartStartMetaData, ContentPartStream, ConversationAttachmentCreateResponse, ConversationAttachmentUploadResponse, ConversationCreateOptions, ConversationCreateResponse, ConversationDeleteResponse, ConversationEvent, ConversationEventEmitter, ConversationEventErrorSource, ConversationEventHandler, ConversationEventHelperManagerConfig, ConversationEventHelperProperties, ConversationExchangeServiceModel, ConversationGetAllOptions, ConversationGetResponse, ConversationJobStartOverrides, ConversationMethods, ConversationServiceModel, ConversationSessionMethods, ConversationSessionOptions, ConversationUpdateOptions, ConversationUpdateResponse, ConversationalAgentOptions, ConversationalAgentServiceModel, CreateFeedbackOptions, DeletedHandler, ErrorEndEvent, ErrorEndEventOptions, ErrorEndHandler, ErrorEndHandlerArgs, ErrorEvent, ErrorStartEvent, ErrorStartEventOptions, ErrorStartHandler, ErrorStartHandlerArgs, Exchange, ExchangeEndEvent, ExchangeEndHandler, ExchangeEvent, ExchangeGetAllOptions, ExchangeGetByIdOptions, ExchangeGetResponse, ExchangeServiceModel, ExchangeStartEvent, ExchangeStartEventOptions, ExchangeStartHandler, ExchangeStartHandlerAsync, ExchangeStream, ExternalValue, FeatureFlags, FeedbackCreateResponse, FileUploadAccess, GenericInterruptStartEvent, InlineOrExternalValue, InlineValue, InputStreamStartEventOptions, InputStreamStartHandler, Interrupt, InterruptCompletedHandler, InterruptCompletedHandlerArgs, InterruptEndEvent, InterruptEndHandler, InterruptEndHandlerArgs, InterruptEvent, InterruptStartEvent, InterruptStartHandler, InterruptStartHandlerArgs, JSONArray, JSONObject, JSONPrimitive, JSONValue, LabelUpdatedEvent, LabelUpdatedHandler, MakeOptional, MakeRequired, Message, MessageCompletedHandler, MessageEndEvent, MessageEndHandler, MessageEvent, MessageGetResponse, MessageServiceModel, MessageStartEvent, MessageStartEventOptions, MessageStartHandler, MessageStartHandlerAsync, MessageStream, MetaData, MetaEvent, MetaEventHandler, RawAgentGetByIdResponse, RawAgentGetResponse, RawConversationGetResponse, SendMessageWithContentPartOptions, SessionCapabilities, SessionEndEvent, SessionEndHandler, SessionEndingEvent, SessionEndingHandler, SessionStartEvent, SessionStartEventOptions, SessionStartHandler, SessionStartHandlerAsync, SessionStartedEvent, SessionStartedHandler, SessionStream, Simplify, ToolCall, ToolCallCompletedHandler, ToolCallConfirmationEndValue, ToolCallConfirmationInterruptStartEvent, ToolCallConfirmationValue, ToolCallEndEvent, ToolCallEndHandler, ToolCallEvent, ToolCallInputValue, ToolCallOutputValue, ToolCallResult, ToolCallStartEvent, ToolCallStartEventWithId, ToolCallStartHandler, ToolCallStartHandlerAsync, ToolCallStream, UnhandledErrorEndHandler, UnhandledErrorEndHandlerArgs, UnhandledErrorStartHandler, UnhandledErrorStartHandlerArgs, UserServiceModel, UserSettingsGetResponse, UserSettingsUpdateOptions, UserSettingsUpdateResponse };
|
|
6720
|
+
export type { AgentAppearance, AgentConversationServiceModel, AgentCreateConversationOptions, AgentGetByIdResponse, AgentGetResponse, AgentInput, AgentMethods, AgentStartingPrompt, AnyErrorEndHandler, AnyErrorEndHandlerArgs, AnyErrorStartHandler, AnyErrorStartHandlerArgs, AsyncInputStream, AsyncInputStreamChunkEvent, AsyncInputStreamChunkHandler, AsyncInputStreamEndEvent, AsyncInputStreamEndHandler, AsyncInputStreamEvent, AsyncInputStreamStartEvent, AsyncToolCallStartHandler, AsyncToolCallStartHandlerAsync, AsyncToolCallStream, ChunkHandler, Citation, CitationEndEvent, CitationError, CitationEvent, CitationOptions, CitationSource, CitationSourceBase, CitationSourceMedia, CitationSourceUrl, CitationStartEvent, CompletedContentPart, CompletedMessage, CompletedToolCall, ContentPart, ContentPartChunkEvent, ContentPartCompletedHandler, ContentPartData, ContentPartEndEvent, ContentPartEndHandler, ContentPartEvent, ContentPartGetResponse, ContentPartInterrupted, ContentPartStartEvent, ContentPartStartEventOptions, ContentPartStartEventWithData, ContentPartStartHandler, ContentPartStartHandlerAsync, ContentPartStartMetaData, ContentPartStream, ConversationAttachmentCreateResponse, ConversationAttachmentUploadResponse, ConversationCreateOptions, ConversationCreateResponse, ConversationDeleteResponse, ConversationEvent, ConversationEventEmitter, ConversationEventErrorSource, ConversationEventHandler, ConversationEventHelperManagerConfig, ConversationEventHelperProperties, ConversationExchangeServiceModel, ConversationGetAllOptions, ConversationGetResponse, ConversationJobStartOverrides, ConversationMethods, ConversationServiceModel, ConversationSessionMethods, ConversationSessionOptions, ConversationUpdateOptions, ConversationUpdateResponse, ConversationalAgentOptions, ConversationalAgentServiceModel, CreateFeedbackOptions, DeletedHandler, ErrorEndEvent, ErrorEndEventOptions, ErrorEndHandler, ErrorEndHandlerArgs, ErrorEvent, ErrorStartEvent, ErrorStartEventOptions, ErrorStartHandler, ErrorStartHandlerArgs, Exchange, ExchangeEndEvent, ExchangeEndHandler, ExchangeEvent, ExchangeGetAllOptions, ExchangeGetByIdOptions, ExchangeGetResponse, ExchangeServiceModel, ExchangeStartEvent, ExchangeStartEventOptions, ExchangeStartHandler, ExchangeStartHandlerAsync, ExchangeStream, ExternalValue, FeatureFlags, FeedbackCreateResponse, FileUploadAccess, GenericInterruptStartEvent, InlineOrExternalValue, InlineValue, InputStreamStartEventOptions, InputStreamStartHandler, Interrupt, InterruptCompletedHandler, InterruptCompletedHandlerArgs, InterruptEndEvent, InterruptEndHandler, InterruptEndHandlerArgs, InterruptEvent, InterruptStartEvent, InterruptStartHandler, InterruptStartHandlerArgs, JSONArray, JSONObject, JSONPrimitive, JSONValue, LabelUpdatedEvent, LabelUpdatedHandler, MakeOptional, MakeRequired, Message, MessageCompletedHandler, MessageEndEvent, MessageEndHandler, MessageEvent, MessageGetResponse, MessageServiceModel, MessageStartEvent, MessageStartEventOptions, MessageStartHandler, MessageStartHandlerAsync, MessageStream, MetaData, MetaEvent, MetaEventHandler, RawAgentGetByIdResponse, RawAgentGetResponse, RawConversationGetResponse, SendMessageWithContentPartOptions, SessionCapabilities, SessionEndEvent, SessionEndHandler, SessionEndingEvent, SessionEndingHandler, SessionStartEvent, SessionStartEventOptions, SessionStartHandler, SessionStartHandlerAsync, SessionStartedEvent, SessionStartedHandler, SessionStream, Simplify, ToolCall, ToolCallCompletedHandler, ToolCallConfirmationEndValue, ToolCallConfirmationInterruptStartEvent, ToolCallConfirmationValue, ToolCallEndEvent, ToolCallEndHandler, ToolCallEvent, ToolCallInputValue, ToolCallOutputValue, ToolCallResult, ToolCallStartEvent, ToolCallStartEventWithId, ToolCallStartHandler, ToolCallStartHandlerAsync, ToolCallStream, UnhandledErrorEndHandler, UnhandledErrorEndHandlerArgs, UnhandledErrorStartHandler, UnhandledErrorStartHandlerArgs, UserServiceModel, UserSettingsGetResponse, UserSettingsUpdateOptions, UserSettingsUpdateResponse };
|