@uipath/uipath-typescript 1.2.2 → 1.3.1

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 (41) hide show
  1. package/dist/assets/index.cjs +5 -8
  2. package/dist/assets/index.d.ts +3 -1
  3. package/dist/assets/index.mjs +5 -8
  4. package/dist/attachments/index.cjs +5 -8
  5. package/dist/attachments/index.d.ts +3 -1
  6. package/dist/attachments/index.mjs +5 -8
  7. package/dist/buckets/index.cjs +5 -8
  8. package/dist/buckets/index.d.ts +3 -1
  9. package/dist/buckets/index.mjs +5 -8
  10. package/dist/cases/index.cjs +5 -8
  11. package/dist/cases/index.d.ts +3 -1
  12. package/dist/cases/index.mjs +5 -8
  13. package/dist/conversational-agent/index.cjs +38 -16
  14. package/dist/conversational-agent/index.d.ts +26 -4
  15. package/dist/conversational-agent/index.mjs +38 -16
  16. package/dist/core/index.cjs +2 -2
  17. package/dist/core/index.d.ts +2 -2
  18. package/dist/core/index.mjs +2 -2
  19. package/dist/entities/index.cjs +697 -317
  20. package/dist/entities/index.d.ts +572 -58
  21. package/dist/entities/index.mjs +698 -318
  22. package/dist/index.cjs +727 -161
  23. package/dist/index.d.ts +697 -69
  24. package/dist/index.mjs +727 -162
  25. package/dist/index.umd.js +727 -161
  26. package/dist/jobs/index.cjs +278 -20
  27. package/dist/jobs/index.d.ts +214 -19
  28. package/dist/jobs/index.mjs +278 -21
  29. package/dist/maestro-processes/index.cjs +5 -8
  30. package/dist/maestro-processes/index.d.ts +3 -1
  31. package/dist/maestro-processes/index.mjs +5 -8
  32. package/dist/processes/index.cjs +5 -8
  33. package/dist/processes/index.d.ts +3 -1
  34. package/dist/processes/index.mjs +5 -8
  35. package/dist/queues/index.cjs +5 -8
  36. package/dist/queues/index.d.ts +3 -1
  37. package/dist/queues/index.mjs +5 -8
  38. package/dist/tasks/index.cjs +5 -8
  39. package/dist/tasks/index.d.ts +3 -1
  40. package/dist/tasks/index.mjs +5 -8
  41. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -91,7 +91,7 @@ interface IUiPath {
91
91
  *
92
92
  * Supports two usage patterns:
93
93
  * 1. Full config in constructor — for server-side or explicit configuration
94
- * 2. No config / partial config — loads from meta tags injected by @uipath/coded-apps plugin
94
+ * 2. No config / partial config — loads from meta tags injected by @uipath/coded-apps-dev plugin
95
95
  *
96
96
  * @example
97
97
  * ```typescript
@@ -387,6 +387,8 @@ declare class BaseService {
387
387
  *
388
388
  * @param instance - UiPath SDK instance providing authentication and configuration.
389
389
  * Services receive this via dependency injection in the modular pattern.
390
+ * @param headers - Optional default headers to include in every request (e.g. `x-uipath-external-user-id` for
391
+ * CAS external-app auth)
390
392
  *
391
393
  * @example
392
394
  * ```typescript
@@ -406,7 +408,7 @@ declare class BaseService {
406
408
  * const entities = new Entities(sdk);
407
409
  * ```
408
410
  */
409
- constructor(instance: IUiPath);
411
+ constructor(instance: IUiPath, headers?: Record<string, string>);
410
412
  /**
411
413
  * Gets a valid authentication token, refreshing if necessary.
412
414
  * Use this when you need to manually add Authorization headers (e.g., direct uploads).
@@ -450,7 +452,7 @@ declare class BaseService {
450
452
  }
451
453
 
452
454
  /**
453
- * Entity field type names
455
+ * Entity field data type names (SQL-level types returned by the API)
454
456
  */
455
457
  declare enum EntityFieldDataType {
456
458
  UUID = "UUID",
@@ -464,7 +466,12 @@ declare enum EntityFieldDataType {
464
466
  DATE = "DATE",
465
467
  BOOLEAN = "BOOLEAN",
466
468
  BIG_INTEGER = "BIG_INTEGER",
467
- MULTILINE_TEXT = "MULTILINE_TEXT"
469
+ MULTILINE_TEXT = "MULTILINE_TEXT",
470
+ FILE = "FILE",
471
+ CHOICE_SET_SINGLE = "CHOICE_SET_SINGLE",
472
+ CHOICE_SET_MULTIPLE = "CHOICE_SET_MULTIPLE",
473
+ AUTO_NUMBER = "AUTO_NUMBER",
474
+ RELATIONSHIP = "RELATIONSHIP"
468
475
  }
469
476
  /**
470
477
  * Represents a single entity record
@@ -473,7 +480,7 @@ interface EntityRecord {
473
480
  /**
474
481
  * Unique identifier for the record
475
482
  */
476
- id: string;
483
+ Id: string;
477
484
  /**
478
485
  * Additional dynamic fields for the entity
479
486
  */
@@ -560,6 +567,196 @@ interface EntityDeleteOptions {
560
567
  */
561
568
  interface EntityDeleteRecordsOptions extends EntityDeleteOptions {
562
569
  }
570
+ /**
571
+ * Logical operator for combining query filter groups
572
+ */
573
+ declare enum LogicalOperator {
574
+ /** Combine conditions with AND — all conditions must match */
575
+ And = 0,
576
+ /** Combine conditions with OR — any condition must match */
577
+ Or = 1
578
+ }
579
+ /**
580
+ * Comparison operators for entity query filters.
581
+ * Not all operators are valid for all field types.
582
+ */
583
+ declare enum QueryFilterOperator {
584
+ Equals = "=",
585
+ NotEquals = "!=",
586
+ GreaterThan = ">",
587
+ LessThan = "<",
588
+ GreaterThanOrEqual = ">=",
589
+ LessThanOrEqual = "<=",
590
+ Contains = "contains",
591
+ NotContains = "not contains",
592
+ StartsWith = "startswith",
593
+ EndsWith = "endswith",
594
+ In = "in",
595
+ NotIn = "not in"
596
+ }
597
+ /**
598
+ * A single filter condition for querying entity records
599
+ *
600
+ * Values are always strings. For numeric or boolean fields, pass the string representation
601
+ * (e.g., `"42"`, `"true"`). For `In` / `NotIn` operators, use {@link valueList} instead of `value`.
602
+ */
603
+ interface EntityQueryFilter {
604
+ /** Name of the field to filter on */
605
+ fieldName: string;
606
+ /** Comparison operator */
607
+ operator: QueryFilterOperator;
608
+ /** Value to compare against (always a string; omit when using `valueList`) */
609
+ value?: string;
610
+ /** List of values for `in` / `not in` operators */
611
+ valueList?: string[];
612
+ }
613
+ /**
614
+ * A group of query filters combined with a logical operator
615
+ */
616
+ interface EntityQueryFilterGroup {
617
+ /** Logical operator applied between filters in `queryFilters` (default: AND) */
618
+ logicalOperator?: LogicalOperator;
619
+ /** Logical operator applied between sibling filter groups (default: AND) */
620
+ continueLogicalOperator?: LogicalOperator;
621
+ /** Array of filter conditions */
622
+ queryFilters?: EntityQueryFilter[];
623
+ /** Nested filter groups for complex boolean expressions */
624
+ filterGroups?: EntityQueryFilterGroup[];
625
+ }
626
+ /**
627
+ * Sort option for query results
628
+ */
629
+ interface EntityQuerySortOption {
630
+ /** Name of the field to sort by */
631
+ fieldName: string;
632
+ /** Whether to sort in descending order (default: false) */
633
+ isDescending?: boolean;
634
+ }
635
+ /**
636
+ * Options for querying entity records with filters, sorting, and pagination.
637
+ *
638
+ * Use `pageSize`, `cursor`, or `jumpToPage` for SDK-managed pagination.
639
+ * The SDK computes and manages offset parameters automatically.
640
+ */
641
+ type EntityQueryRecordsOptions = {
642
+ /** Filter conditions to apply */
643
+ filterGroup?: EntityQueryFilterGroup;
644
+ /** List of field names to include in results (returns all fields if omitted) */
645
+ selectedFields?: string[];
646
+ /** Sort options for the results */
647
+ sortOptions?: EntityQuerySortOption[];
648
+ /** Level of entity expansion for related fields (default: 0) */
649
+ expansionLevel?: number;
650
+ } & PaginationOptions;
651
+ /**
652
+ * Response from querying entity records
653
+ */
654
+ interface EntityQueryRecordsResponse {
655
+ /** Array of matching entity records */
656
+ items: EntityRecord[];
657
+ /** Total number of records matching the filter (before pagination) */
658
+ totalCount: number;
659
+ }
660
+ /**
661
+ * Common field properties shared across field definition and update types
662
+ */
663
+ interface EntityFieldBase {
664
+ /** Human-readable display name shown in the UI (defaults to `name` if omitted) */
665
+ displayName?: string;
666
+ /** Optional field description */
667
+ description?: string;
668
+ /** Whether the field is required (default: false) */
669
+ isRequired?: boolean;
670
+ /** Whether the field value must be unique across records (default: false) */
671
+ isUnique?: boolean;
672
+ /** Whether role-based access control is enabled for this field (default: false) */
673
+ isRbacEnabled?: boolean;
674
+ /** Whether the field value is encrypted at rest (default: false) */
675
+ isEncrypted?: boolean;
676
+ /** Default value for the field */
677
+ defaultValue?: string;
678
+ }
679
+ /**
680
+ * User-facing field definition for creating or updating entity schemas
681
+ */
682
+ interface EntityCreateFieldOptions extends EntityFieldBase {
683
+ /**
684
+ * Field name — must start with a letter and contain only
685
+ * letters, numbers, and underscores (e.g., `"productName"`).
686
+ */
687
+ fieldName: string;
688
+ /** Field data type — one of the {@link EntityFieldDataType} values (default: STRING) */
689
+ type?: EntityFieldDataType;
690
+ /** Choice set ID for choice-set fields */
691
+ choiceSetId?: string;
692
+ /** Name of the referenced entity for relationship fields */
693
+ referenceEntityName?: string;
694
+ /** Name of the field in the referenced entity */
695
+ referenceFieldName?: string;
696
+ }
697
+ /**
698
+ * Options for creating a new Data Fabric entity
699
+ */
700
+ interface EntityCreateOptions {
701
+ /** Human-readable display name shown in the UI (defaults to `name` if omitted) */
702
+ displayName?: string;
703
+ /** Optional entity description */
704
+ description?: string;
705
+ /** UUID of the folder to place the entity in (defaults to the tenant-level folder) */
706
+ folderKey?: string;
707
+ /** Whether role-based access control is enabled for this entity (default: false) */
708
+ isRbacEnabled?: boolean;
709
+ /** Whether Analytics integration is enabled for this entity (default: false) */
710
+ isAnalyticsEnabled?: boolean;
711
+ /** External field source definitions (default: empty) */
712
+ externalFields?: ExternalField[];
713
+ }
714
+ /**
715
+ * Identifies a field by its ID and supplies metadata updates to apply
716
+ */
717
+ interface EntityFieldUpdateOptions extends EntityFieldBase {
718
+ /** ID of the field to update */
719
+ id: string;
720
+ }
721
+ /**
722
+ * Identifies a field to remove by its name
723
+ */
724
+ interface EntityRemoveFieldOptions {
725
+ /** Name of the field to remove */
726
+ fieldName: string;
727
+ }
728
+ /**
729
+ * Options for updating an existing entity — schema and/or metadata in a single call.
730
+ *
731
+ * Schema changes (`addFields`, `removeFields`, `updateFields`) and metadata changes
732
+ * (`displayName`, `description`, `isRbacEnabled`) can be combined; each is applied
733
+ * only when the corresponding fields are provided.
734
+ */
735
+ interface EntityUpdateByIdOptions {
736
+ /** New fields to add */
737
+ addFields?: EntityCreateFieldOptions[];
738
+ /** Fields to remove, each identified by field name */
739
+ removeFields?: EntityRemoveFieldOptions[];
740
+ /** Fields to update, each identified by its field ID */
741
+ updateFields?: EntityFieldUpdateOptions[];
742
+ /** New display name for the entity */
743
+ displayName?: string;
744
+ /** New description for the entity */
745
+ description?: string;
746
+ /** Whether role-based access control is enabled for this entity */
747
+ isRbacEnabled?: boolean;
748
+ }
749
+ /**
750
+ * Response from a bulk import operation
751
+ */
752
+ interface EntityImportRecordsResponse {
753
+ /** Total number of records in the import file */
754
+ totalRecords: number;
755
+ /** Number of records successfully inserted */
756
+ insertedRecords: number;
757
+ /** Link to download the error file (if any records failed) */
758
+ errorFileLink?: string | null;
759
+ }
563
760
  /**
564
761
  * Supported file types for attachment upload
565
762
  */
@@ -680,6 +877,17 @@ interface Field {
680
877
  id: string;
681
878
  definition?: FieldMetaData;
682
879
  }
880
+ /**
881
+ * SQL type metadata
882
+ */
883
+ interface SqlType {
884
+ /** Raw SQL type name (e.g., `"NVARCHAR"`, `"INT"`, `"UNIQUEIDENTIFIER"`) */
885
+ name: string;
886
+ lengthLimit?: number;
887
+ maxValue?: number;
888
+ minValue?: number;
889
+ decimalPrecision?: number;
890
+ }
683
891
  /**
684
892
  * Detailed field definition
685
893
  */
@@ -691,25 +899,33 @@ interface FieldMetaData {
691
899
  isExternalField: boolean;
692
900
  isHiddenField: boolean;
693
901
  isUnique: boolean;
694
- referenceName?: string;
695
- referenceEntity?: RawEntityGetResponse;
696
- referenceChoiceSet?: RawEntityGetResponse;
697
- referenceField?: Field;
698
- referenceType: ReferenceType;
699
- fieldDataType: FieldDataType;
700
902
  isRequired: boolean;
701
- displayName: string;
702
- description: string;
903
+ isSystemField: boolean;
904
+ isAttachment: boolean;
905
+ isEncrypted: boolean;
906
+ isRbacEnabled: boolean;
907
+ fieldDisplayType: FieldDisplayType;
908
+ /** Transformed field data type — present after SDK transformation */
909
+ fieldDataType: FieldDataType;
703
910
  createdTime: string;
704
911
  createdBy: string;
705
- updatedTime: string;
912
+ /** Raw SQL type from API — present on raw GET responses, used on write payloads */
913
+ sqlType?: SqlType;
914
+ updatedTime?: string;
706
915
  updatedBy?: string;
707
- isSystemField: boolean;
708
- fieldDisplayType?: FieldDisplayType;
916
+ displayName?: string;
917
+ description?: string;
918
+ referenceName?: string;
919
+ referenceEntity?: RawEntityGetResponse;
920
+ referenceChoiceSet?: RawEntityGetResponse;
921
+ referenceField?: Field;
922
+ referenceType?: ReferenceType;
709
923
  choiceSetId?: string;
710
924
  defaultValue?: string;
711
- isAttachment: boolean;
712
- isRbacEnabled: boolean;
925
+ /** Name of the referenced entity (used on write payloads for relationship fields) */
926
+ referenceEntityName?: string;
927
+ /** Name of the field in the referenced entity (used on write payloads for relationship fields) */
928
+ referenceFieldName?: string;
713
929
  }
714
930
  /**
715
931
  * External object details
@@ -780,8 +996,9 @@ interface RawEntityGetResponse {
780
996
  name: string;
781
997
  displayName: string;
782
998
  entityType: EntityType;
783
- description: string;
999
+ description?: string;
784
1000
  fields: FieldMetaData[];
1001
+ folderId?: string;
785
1002
  externalFields?: ExternalSourceFields[];
786
1003
  sourceJoinCriterias?: SourceJoinCriteria[];
787
1004
  recordCount?: number;
@@ -789,6 +1006,7 @@ interface RawEntityGetResponse {
789
1006
  usedStorageSizeInMB?: number;
790
1007
  attachmentSizeInByte?: number;
791
1008
  isRbacEnabled: boolean;
1009
+ isInsightsEnabled?: boolean;
792
1010
  id: string;
793
1011
  createdBy: string;
794
1012
  createdTime: string;
@@ -863,7 +1081,7 @@ interface EntityServiceModel {
863
1081
  * const choicesets = new ChoiceSets(sdk);
864
1082
  *
865
1083
  * // Get entity metadata with methods
866
- * const entity = await entities.getById(<entityId>);
1084
+ * const entity = await entities.getById("<entityId>");
867
1085
  *
868
1086
  * // Call operations directly on the entity
869
1087
  * const records = await entity.getAllRecords();
@@ -895,7 +1113,7 @@ interface EntityServiceModel {
895
1113
  * @example
896
1114
  * ```typescript
897
1115
  * // Basic usage (non-paginated)
898
- * const records = await entities.getAllRecords(<entityId>);
1116
+ * const records = await entities.getAllRecords("<entityId>");
899
1117
  *
900
1118
  * // With expansion level
901
1119
  * const records = await entities.getAllRecords(<entityId>, {
@@ -932,9 +1150,9 @@ interface EntityServiceModel {
932
1150
  * @example
933
1151
  * ```typescript
934
1152
  * // First, get records to obtain the record ID
935
- * const records = await entities.getAllRecords(<entityId>);
1153
+ * const records = await entities.getAllRecords("<entityId>");
936
1154
  * // Get the recordId for the record
937
- * const recordId = records.items[0].id;
1155
+ * const recordId = records.items[0].Id;
938
1156
  * // Get the record
939
1157
  * const record = await entities.getRecordById(<entityId>, recordId);
940
1158
  *
@@ -1046,14 +1264,14 @@ interface EntityServiceModel {
1046
1264
  * ```typescript
1047
1265
  * // Basic usage
1048
1266
  * const result = await entities.updateRecordsById(<entityId>, [
1049
- * { id: "123", name: "John Updated", age: 31 },
1050
- * { id: "456", name: "Jane Updated", age: 26 }
1267
+ * { Id: "123", name: "John Updated", age: 31 },
1268
+ * { Id: "456", name: "Jane Updated", age: 26 }
1051
1269
  * ]);
1052
1270
  *
1053
1271
  * // With options
1054
1272
  * const result = await entities.updateRecordsById(<entityId>, [
1055
- * { id: "123", name: "John Updated", age: 31 },
1056
- * { id: "456", name: "Jane Updated", age: 26 }
1273
+ * { Id: "123", name: "John Updated", age: 31 },
1274
+ * { Id: "456", name: "Jane Updated", age: 26 }
1057
1275
  * ], {
1058
1276
  * expansionLevel: 1,
1059
1277
  * failOnFirst: true
@@ -1061,11 +1279,6 @@ interface EntityServiceModel {
1061
1279
  * ```
1062
1280
  */
1063
1281
  updateRecordsById(id: string, data: EntityRecord[], options?: EntityUpdateRecordsOptions): Promise<EntityUpdateResponse>;
1064
- /**
1065
- * @deprecated Use {@link updateRecordsById} instead.
1066
- * @hidden
1067
- */
1068
- updateById(id: string, data: EntityRecord[], options?: EntityUpdateOptions): Promise<EntityUpdateResponse>;
1069
1282
  /**
1070
1283
  * Deletes data from an entity by entity ID
1071
1284
  *
@@ -1084,10 +1297,52 @@ interface EntityServiceModel {
1084
1297
  */
1085
1298
  deleteRecordsById(id: string, recordIds: string[], options?: EntityDeleteRecordsOptions): Promise<EntityDeleteResponse>;
1086
1299
  /**
1087
- * @deprecated Use {@link deleteRecordsById} instead.
1088
- * @hidden
1300
+ * Queries entity records with filters, sorting, and SDK-managed pagination
1301
+ *
1302
+ * @param id - UUID of the entity
1303
+ * @param options - Query options including filterGroup, selectedFields, sortOptions, and pagination
1304
+ * @returns Promise resolving to {@link NonPaginatedResponse} without pagination options,
1305
+ * or {@link PaginatedResponse} when `pageSize`, `cursor`, or `jumpToPage` are provided
1306
+ * @example
1307
+ * ```typescript
1308
+ * import { Entities, LogicalOperator, QueryFilterOperator } from '@uipath/uipath-typescript/entities';
1309
+ *
1310
+ * const entities = new Entities(sdk);
1311
+ *
1312
+ * // Non-paginated query with a filter
1313
+ * const result = await entities.queryRecordsById(<id>, {
1314
+ * filterGroup: {
1315
+ * logicalOperator: LogicalOperator.And,
1316
+ * queryFilters: [{ fieldName: "status", operator: QueryFilterOperator.Equals, value: "active" }]
1317
+ * },
1318
+ * sortOptions: [{ fieldName: "createdTime", isDescending: true }],
1319
+ * });
1320
+ * console.log(`Found ${result.totalCount} records`);
1321
+ *
1322
+ * // With pagination
1323
+ * const page1 = await entities.queryRecordsById(<id>, { pageSize: 25 });
1324
+ * if (page1.hasNextPage) {
1325
+ * const page2 = await entities.queryRecordsById(<id>, { cursor: page1.nextCursor });
1326
+ * }
1327
+ * ```
1328
+ */
1329
+ queryRecordsById<T extends EntityQueryRecordsOptions = EntityQueryRecordsOptions>(id: string, options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<EntityRecord> : NonPaginatedResponse<EntityRecord>>;
1330
+ /**
1331
+ * Imports records from a CSV file into an entity
1332
+ *
1333
+ * @param id - UUID of the entity
1334
+ * @param file - CSV file to import as a Blob or File or Uint8Array
1335
+ * @returns Promise resolving to {@link EntityImportRecordsResponse} with record counts
1336
+ * @example
1337
+ * ```typescript
1338
+ * // Browser: upload from file input
1339
+ * const fileInput = document.getElementById('csv-input') as HTMLInputElement;
1340
+ * const result = await entities.importRecordsById(<id>, fileInput.files[0]);
1341
+ * console.log(`Inserted ${result.insertedRecords} of ${result.totalRecords} records`);
1342
+ * ```
1343
+ * @internal
1089
1344
  */
1090
- deleteById(id: string, recordIds: string[], options?: EntityDeleteOptions): Promise<EntityDeleteResponse>;
1345
+ importRecordsById(id: string, file: EntityFileType): Promise<EntityImportRecordsResponse>;
1091
1346
  /**
1092
1347
  * Downloads an attachment stored in a File-type field of an entity record.
1093
1348
  *
@@ -1104,7 +1359,7 @@ interface EntityServiceModel {
1104
1359
  * // First, get records to obtain the record ID
1105
1360
  * const records = await entities.getAllRecords("<entityId>");
1106
1361
  * // Get the recordId for the record that contains the attachment
1107
- * const recordId = records.items[0].id;
1362
+ * const recordId = records.items[0].Id;
1108
1363
  *
1109
1364
  * // Get the entityId from getAll()
1110
1365
  * const allEntities = await entities.getAll();
@@ -1112,7 +1367,7 @@ interface EntityServiceModel {
1112
1367
  *
1113
1368
  * // Get the recordId from getAllRecords()
1114
1369
  * const records = await entities.getAllRecords(entityId);
1115
- * const recordId = records[0].id;
1370
+ * const recordId = records[0].Id;
1116
1371
  *
1117
1372
  * // Download attachment using service method
1118
1373
  * const response = await entities.downloadAttachment(entityId, recordId, 'Documents');
@@ -1164,7 +1419,7 @@ interface EntityServiceModel {
1164
1419
  *
1165
1420
  * // Get the recordId from getAllRecords()
1166
1421
  * const records = await entities.getAllRecords(entityId);
1167
- * const recordId = records[0].id;
1422
+ * const recordId = records[0].Id;
1168
1423
  *
1169
1424
  * // Browser: Upload a file from an input element
1170
1425
  * const fileInput = document.getElementById('file-input') as HTMLInputElement;
@@ -1197,7 +1452,7 @@ interface EntityServiceModel {
1197
1452
  *
1198
1453
  * // Get the recordId from getAllRecords()
1199
1454
  * const records = await entities.getAllRecords(entityId);
1200
- * const recordId = records[0].id;
1455
+ * const recordId = records[0].Id;
1201
1456
  *
1202
1457
  * // Delete attachment for a specific record and field
1203
1458
  * await entities.deleteAttachment(entityId, recordId, 'Documents');
@@ -1208,6 +1463,75 @@ interface EntityServiceModel {
1208
1463
  * ```
1209
1464
  */
1210
1465
  deleteAttachment(entityId: string, recordId: string, fieldName: string): Promise<EntityDeleteAttachmentResponse>;
1466
+ /**
1467
+ * Creates a new Data Fabric entity with the given schema
1468
+ *
1469
+ * @param name - Entity name — must start with a letter, letters/numbers/underscores only
1470
+ * (e.g., `"productCatalog"`).
1471
+ * @param fields - Array of field definitions
1472
+ * @param options - Optional entity-level settings ({@link EntityCreateOptions})
1473
+ * @returns Promise resolving to the ID of the created entity
1474
+ * @example
1475
+ * ```typescript
1476
+ * import { Entities } from '@uipath/uipath-typescript/entities';
1477
+ *
1478
+ * const entities = new Entities(sdk);
1479
+ *
1480
+ * const id = await entities.create("product_catalog", [
1481
+ * { fieldName: "product_name", type: EntityFieldDataType.STRING, isRequired: true, isUnique: true },
1482
+ * { fieldName: "price", type: EntityFieldDataType.INTEGER, defaultValue: "0" },
1483
+ * ], { displayName: "Product Catalog", description: "Our product catalog", isRbacEnabled: true });
1484
+ * ```
1485
+ * @internal
1486
+ */
1487
+ create(name: string, fields: EntityCreateFieldOptions[], options?: EntityCreateOptions): Promise<string>;
1488
+ /**
1489
+ * Deletes a Data Fabric entity and all its records
1490
+ *
1491
+ * @param id - UUID of the entity to delete
1492
+ * @returns Promise resolving when the entity is deleted
1493
+ * @example
1494
+ * ```typescript
1495
+ * await entities.deleteById(<id>);
1496
+ * ```
1497
+ * @internal
1498
+ */
1499
+ deleteById(id: string): Promise<void>;
1500
+ /**
1501
+ * Updates an existing Data Fabric entity — schema and/or metadata.
1502
+ *
1503
+ * Pass any combination of schema fields (`addFields`, `removeFields`, `updateFields`) and
1504
+ * metadata fields (`displayName`, `description`, `isRbacEnabled`). Each group is applied
1505
+ * only when the corresponding fields are provided.
1506
+ *
1507
+ * @param id - UUID of the entity to update
1508
+ * @param name - name of the entity (required by the API)
1509
+ * @param options - Changes to apply ({@link EntityUpdateByIdOptions})
1510
+ * @returns Promise resolving when the update is complete
1511
+ *
1512
+ * @example
1513
+ * ```typescript
1514
+ * // Schema-only: add a field and remove another
1515
+ * await entities.updateById(<id>, {
1516
+ * addFields: [{ fieldName: "notes", type: EntityFieldDataType.MULTILINE_TEXT }],
1517
+ * removeFields: [{ fieldName: "old_field" }],
1518
+ * });
1519
+ *
1520
+ * // Metadata-only: rename the entity
1521
+ * await entities.updateById(<id>, {
1522
+ * displayName: "My Updated Entity",
1523
+ * description: "Updated description",
1524
+ * });
1525
+ *
1526
+ * // Combined: update a field and rename at the same time
1527
+ * await entities.updateById(<id>, {
1528
+ * updateFields: [{ id: <fieldId>, displayName: "Unit Price", isRequired: true }],
1529
+ * displayName: "Price Catalog",
1530
+ * });
1531
+ * ```
1532
+ * @internal
1533
+ */
1534
+ updateById(id: string, options?: EntityUpdateByIdOptions): Promise<void>;
1211
1535
  }
1212
1536
  /**
1213
1537
  * Entity methods interface - defines operations that can be performed on an entity
@@ -1319,29 +1643,81 @@ interface EntityMethods {
1319
1643
  */
1320
1644
  batchInsert(data: Record<string, any>[], options?: EntityBatchInsertOptions): Promise<EntityBatchInsertResponse>;
1321
1645
  /**
1322
- * @deprecated Use {@link updateRecords} instead.
1323
- * @hidden
1324
- */
1325
- update(data: EntityRecord[], options?: EntityUpdateOptions): Promise<EntityUpdateResponse>;
1646
+ * Queries records in this entity with filters, sorting, and SDK-managed pagination
1647
+ *
1648
+ * @param options - Query options including filterGroup, selectedFields, sortOptions, and pagination
1649
+ * @returns Promise resolving to {@link NonPaginatedResponse} without pagination options,
1650
+ * or {@link PaginatedResponse} when `pageSize`, `cursor`, or `jumpToPage` are provided
1651
+ * @example
1652
+ * ```typescript
1653
+ * const entity = await entities.getById(<entityId>);
1654
+ * const result = await entity.queryRecords({
1655
+ * filterGroup: {
1656
+ * logicalOperator: LogicalOperator.And,
1657
+ * queryFilters: [{ fieldName: "status", operator: QueryFilterOperator.Equals, value: "active" }]
1658
+ * },
1659
+ * sortOptions: [{ fieldName: "createdTime", isDescending: true }],
1660
+ * });
1661
+ * console.log(`Found ${result.totalCount} records`);
1662
+ * ```
1663
+ */
1664
+ queryRecords<T extends EntityQueryRecordsOptions = EntityQueryRecordsOptions>(options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<EntityRecord> : NonPaginatedResponse<EntityRecord>>;
1326
1665
  /**
1327
- * @deprecated Use {@link deleteRecords} instead.
1328
- * @hidden
1666
+ * Imports records from a CSV file into this entity
1667
+ *
1668
+ * @param file - CSV file to import as a Blob, File, or Uint8Array
1669
+ * @returns Promise resolving to {@link EntityImportRecordsResponse} with record counts
1670
+ * @example
1671
+ * ```typescript
1672
+ * const entity = await entities.getById(<entityId>);
1673
+ * const fileInput = document.getElementById('csv-input') as HTMLInputElement;
1674
+ * const result = await entity.importRecords(fileInput.files[0]);
1675
+ * console.log(`Inserted ${result.insertedRecords} of ${result.totalRecords} records`);
1676
+ * ```
1329
1677
  */
1330
- delete(recordIds: string[], options?: EntityDeleteOptions): Promise<EntityDeleteResponse>;
1678
+ importRecords(file: EntityFileType): Promise<EntityImportRecordsResponse>;
1331
1679
  /**
1332
1680
  * @deprecated Use {@link getAllRecords} instead.
1333
1681
  * @hidden
1334
1682
  */
1335
1683
  getRecords<T extends EntityGetRecordsByIdOptions = EntityGetRecordsByIdOptions>(options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<EntityRecord> : NonPaginatedResponse<EntityRecord>>;
1684
+ /**
1685
+ * Deletes this entity and all its records
1686
+ *
1687
+ * @returns Promise resolving when the entity is deleted
1688
+ * @example
1689
+ * ```typescript
1690
+ * const entity = await entities.getById(<id>);
1691
+ * await entity.delete();
1692
+ * ```
1693
+ * @internal
1694
+ */
1695
+ delete(): Promise<void>;
1696
+ /**
1697
+ * Updates this entity — schema and/or metadata.
1698
+ *
1699
+ * @param options - Changes to apply ({@link EntityUpdateByIdOptions})
1700
+ * @returns Promise resolving when the update is complete
1701
+ * @example
1702
+ * ```typescript
1703
+ * const entity = await entities.getById(<id>);
1704
+ * await entity.update({
1705
+ * displayName: "Updated Name",
1706
+ * addFields: [{ fieldName: "notes", type: EntityFieldDataType.MULTILINE_TEXT }],
1707
+ * });
1708
+ * ```
1709
+ * @internal
1710
+ */
1711
+ update(options?: EntityUpdateByIdOptions): Promise<void>;
1336
1712
  }
1337
1713
  /**
1338
1714
  * Entity with methods combining metadata with operation methods
1339
1715
  */
1340
1716
  type EntityGetResponse = RawEntityGetResponse & EntityMethods;
1341
1717
  /**
1342
- * Creates an actionable entity metadata by combining entity with operational methods
1718
+ * Creates an actionable entity by combining entity metadata with data and management methods
1343
1719
  *
1344
- * @param entityData - Entity metadata
1720
+ * @param entityMetadata - Entity metadata
1345
1721
  * @param service - The entity service instance
1346
1722
  * @returns Entity metadata with added methods
1347
1723
  */
@@ -1585,6 +1961,72 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1585
1961
  * ```
1586
1962
  */
1587
1963
  getAll(): Promise<EntityGetResponse[]>;
1964
+ /**
1965
+ * Queries entity records with filters, sorting, and pagination
1966
+ *
1967
+ * @param id - UUID of the entity
1968
+ * @param options - Query options including filterGroup, selectedFields, sortOptions, and pagination
1969
+ * @returns Promise resolving to {@link NonPaginatedResponse} without pagination options,
1970
+ * or {@link PaginatedResponse} when `pageSize`, `cursor`, or `jumpToPage` are provided
1971
+ *
1972
+ * @example
1973
+ * ```typescript
1974
+ * import { Entities, LogicalOperator, QueryFilterOperator } from '@uipath/uipath-typescript/entities';
1975
+ *
1976
+ * const entities = new Entities(sdk);
1977
+ *
1978
+ * // Non-paginated query with a filter
1979
+ * const result = await entities.queryRecordsById("<entityId>", {
1980
+ * filterGroup: {
1981
+ * logicalOperator: LogicalOperator.And,
1982
+ * queryFilters: [
1983
+ * { fieldName: "status", operator: QueryFilterOperator.Equals, value: "active" }
1984
+ * ]
1985
+ * },
1986
+ * sortOptions: [{ fieldName: "created_at", isDescending: true }],
1987
+ * });
1988
+ * console.log(`Found ${result.totalCount} records`);
1989
+ *
1990
+ * // With pagination
1991
+ * const page1 = await entities.queryRecordsById("<entityId>", {
1992
+ * filterGroup: { queryFilters: [{ fieldName: "status", operator: QueryFilterOperator.Equals, value: "active" }] },
1993
+ * pageSize: 25,
1994
+ * });
1995
+ * if (page1.hasNextPage) {
1996
+ * const page2 = await entities.queryRecordsById("<entityId>", { cursor: page1.nextCursor });
1997
+ * }
1998
+ * ```
1999
+ */
2000
+ queryRecordsById<T extends EntityQueryRecordsOptions = EntityQueryRecordsOptions>(id: string, options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<EntityRecord> : NonPaginatedResponse<EntityRecord>>;
2001
+ /**
2002
+ * Imports records from a CSV file into an entity
2003
+ *
2004
+ * @param id - UUID of the entity
2005
+ * @param file - CSV file to import (Blob, File, or Uint8Array)
2006
+ * @returns Promise resolving to import result with record counts
2007
+ *
2008
+ * @example
2009
+ * ```typescript
2010
+ * import { Entities } from '@uipath/uipath-typescript/entities';
2011
+ *
2012
+ * const entities = new Entities(sdk);
2013
+ *
2014
+ * // Browser: upload from file input
2015
+ * const fileInput = document.getElementById('csv-input') as HTMLInputElement;
2016
+ * const result = await entities.importRecordsById("<entityId>", fileInput.files[0]);
2017
+ *
2018
+ * // Node.js: read from disk
2019
+ * const fileBuffer = fs.readFileSync('records.csv');
2020
+ * const result = await entities.importRecordsById("<entityId>", new Blob([fileBuffer], { type: 'text/csv' }));
2021
+ *
2022
+ * console.log(`Inserted ${result.insertedRecords} of ${result.totalRecords} records`);
2023
+ * if (result.errorFileLink) {
2024
+ * console.log(`Error file link: ${result.errorFileLink}`);
2025
+ * }
2026
+ * ```
2027
+ * @internal
2028
+ */
2029
+ importRecordsById(id: string, file: EntityFileType): Promise<EntityImportRecordsResponse>;
1588
2030
  /**
1589
2031
  * Downloads an attachment from an entity record field
1590
2032
  *
@@ -1605,7 +2047,7 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1605
2047
  *
1606
2048
  * // Get the recordId from getAllRecords()
1607
2049
  * const records = await entities.getAllRecords(entityId);
1608
- * const recordId = records[0].id;
2050
+ * const recordId = records[0].Id;
1609
2051
  *
1610
2052
  * // Download attachment for a specific record and field
1611
2053
  * const blob = await entities.downloadAttachment(entityId, recordId, 'Documents');
@@ -1634,7 +2076,7 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1634
2076
  *
1635
2077
  * // Get the recordId from getAllRecords()
1636
2078
  * const records = await entities.getAllRecords(entityId);
1637
- * const recordId = records[0].id;
2079
+ * const recordId = records[0].Id;
1638
2080
  *
1639
2081
  * // Upload a file attachment
1640
2082
  * const response = await entities.uploadAttachment(entityId, recordId, 'Documents', file);
@@ -1661,7 +2103,7 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1661
2103
  *
1662
2104
  * // Get the recordId from getAllRecords()
1663
2105
  * const records = await entities.getAllRecords(entityId);
1664
- * const recordId = records[0].id;
2106
+ * const recordId = records[0].Id;
1665
2107
  *
1666
2108
  * // Delete attachment for a specific record and field
1667
2109
  * await entities.deleteAttachment(entityId, recordId, 'Documents');
@@ -1684,15 +2126,83 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1684
2126
  */
1685
2127
  batchInsertById(id: string, data: Record<string, any>[], options?: EntityBatchInsertOptions): Promise<EntityBatchInsertResponse>;
1686
2128
  /**
1687
- * @hidden
1688
- * @deprecated Use {@link updateRecordsById} instead.
2129
+ * Creates a new Data Fabric entity with the given schema
2130
+ *
2131
+ * @param name - Entity name — must start with a letter and contain
2132
+ * only letters, numbers, and underscores (e.g., `"productCatalog"`).
2133
+ * @param fields - Array of field definitions
2134
+ * @param options - Optional entity-level settings ({@link EntityCreateOptions})
2135
+ * @returns Promise resolving to the ID of the created entity
2136
+ *
2137
+ * @example
2138
+ * ```typescript
2139
+ * const entityId = await entities.create("product_catalog", [
2140
+ * { fieldName: "product_name", type: EntityFieldDataType.STRING, isRequired: true, isUnique: true },
2141
+ * { fieldName: "price", type: EntityFieldDataType.INTEGER, defaultValue: "0" },
2142
+ * ], { displayName: "Product Catalog", description: "Our product catalog", isRbacEnabled: true });
2143
+ * ```
2144
+ * @internal
1689
2145
  */
1690
- updateById(id: string, data: EntityRecord[], options?: EntityUpdateOptions): Promise<EntityUpdateResponse>;
2146
+ create(name: string, fields: EntityCreateFieldOptions[], options?: EntityCreateOptions): Promise<string>;
1691
2147
  /**
1692
- * @hidden
1693
- * @deprecated Use {@link deleteRecordsById} instead.
2148
+ * Deletes a Data Fabric entity and all its records
2149
+ *
2150
+ * @param id - UUID of the entity to delete
2151
+ * @returns Promise resolving when the entity is deleted
2152
+ *
2153
+ * @example
2154
+ * ```typescript
2155
+ * await entities.deleteById("<entityId>");
2156
+ * ```
2157
+ * @internal
2158
+ */
2159
+ deleteById(id: string): Promise<void>;
2160
+ /**
2161
+ * Updates an existing Data Fabric entity — schema and/or metadata.
2162
+ *
2163
+ * Provide any combination of schema fields (`addFields`, `removeFields`, `updateFields`) and
2164
+ * metadata fields (`displayName`, `description`, `isRbacEnabled`). Each group is applied
2165
+ * only when the corresponding fields are present.
2166
+ *
2167
+ * **Warning:** Schema changes (`addFields`, `removeFields`, `updateFields`) use a
2168
+ * read-modify-write pattern — concurrent calls on the same entity may silently
2169
+ * overwrite each other's changes.
2170
+ *
2171
+ * @param id - UUID of the entity to update
2172
+ * @param options - Changes to apply ({@link EntityUpdateByIdOptions})
2173
+ * @returns Promise resolving when the update is complete
2174
+ *
2175
+ * @example
2176
+ * ```typescript
2177
+ * // Schema-only
2178
+ * await entities.updateById("<entityId>", {
2179
+ * addFields: [{ fieldName: "notes", type: EntityFieldDataType.MULTILINE_TEXT }],
2180
+ * removeFields: [{ fieldName: "old_field" }],
2181
+ * });
2182
+ *
2183
+ * // Metadata-only
2184
+ * await entities.updateById("<entityId>", {
2185
+ * displayName: "My Updated Entity",
2186
+ * description: "Updated description",
2187
+ * });
2188
+ *
2189
+ * // Combined
2190
+ * await entities.updateById("<entityId>", {
2191
+ * updateFields: [{ id: "<fieldId>", displayName: "Unit Price", isRequired: true }],
2192
+ * displayName: "Price Catalog",
2193
+ * });
2194
+ * ```
2195
+ * @internal
1694
2196
  */
1695
- deleteById(id: string, recordIds: string[], options?: EntityDeleteOptions): Promise<EntityDeleteResponse>;
2197
+ updateById(id: string, options?: EntityUpdateByIdOptions): Promise<void>;
2198
+ /**
2199
+ * Fetches the current entity schema, applies the field delta, then posts the full updated schema.
2200
+ *
2201
+ * @param entityId - UUID of the entity to update
2202
+ * @param options - Field changes to apply
2203
+ * @private
2204
+ */
2205
+ private applySchemaUpdate;
1696
2206
  /**
1697
2207
  * Orchestrates all field mapping transformations
1698
2208
  *
@@ -1718,6 +2228,10 @@ declare class EntityService extends BaseService implements EntityServiceModel {
1718
2228
  * @private
1719
2229
  */
1720
2230
  private mapExternalFields;
2231
+ /** Converts a user-facing EntityCreateFieldOptions to the raw API field payload */
2232
+ private buildSchemaFieldPayload;
2233
+ private static readonly RESERVED_FIELD_NAMES;
2234
+ private validateName;
1721
2235
  }
1722
2236
 
1723
2237
  /**
@@ -5265,7 +5779,7 @@ declare enum ServerlessJobType {
5265
5779
  /**
5266
5780
  * Interface for process metadata associated with a job.
5267
5781
  * Represents a lightweight summary of the process (release) linked to a job.
5268
- * Available when using 'expand: "Release"' in the query.
5782
+ * Available when using 'expand: "release"' in the query.
5269
5783
  */
5270
5784
  interface ProcessMetadata {
5271
5785
  /** The unique key of the release */
@@ -5282,9 +5796,9 @@ interface ProcessMetadata {
5282
5796
  id?: number;
5283
5797
  }
5284
5798
  /**
5285
- * Interface for job response
5799
+ * Raw job response from the API before method attachment
5286
5800
  */
5287
- interface JobGetResponse extends FolderProperties {
5801
+ interface RawJobGetResponse extends FolderProperties {
5288
5802
  /** The unique numeric identifier of the job */
5289
5803
  id: number;
5290
5804
  /** The unique job identifier (GUID) */
@@ -5311,6 +5825,8 @@ interface JobGetResponse extends FolderProperties {
5311
5825
  inputArguments: string | null;
5312
5826
  /** Output parameters as a JSON string resulted from job execution */
5313
5827
  outputArguments: string | null;
5828
+ /** Attachment key for file-based output when output is too large for inline arguments */
5829
+ outputFile: string | null;
5314
5830
  /** Environment variables as a JSON string passed to the job execution */
5315
5831
  environmentVariables: string | null;
5316
5832
  /** Additional information about the current job */
@@ -5367,11 +5883,11 @@ interface JobGetResponse extends FolderProperties {
5367
5883
  parentSpanId: string | null;
5368
5884
  /** The error code associated with a failed job */
5369
5885
  errorCode: string | null;
5370
- /** The machine associated with the job (available when using expand=Machine) */
5886
+ /** The machine associated with the job (available when using expand=machine) */
5371
5887
  machine?: Machine;
5372
- /** The robot associated with the job (available when using expand=Robot) */
5888
+ /** The robot associated with the job (available when using expand=robot) */
5373
5889
  robot?: RobotMetadata;
5374
- /** The process metadata associated with the job (available when using expand=Release) */
5890
+ /** The process metadata associated with the job */
5375
5891
  process?: ProcessMetadata | null;
5376
5892
  /** Error details for the job, or null if the job has no errors */
5377
5893
  jobError: JobError | null;
@@ -5385,7 +5901,14 @@ type JobGetAllOptions = RequestOptions & PaginationOptions & {
5385
5901
  */
5386
5902
  folderId?: number;
5387
5903
  };
5904
+ /**
5905
+ * Options for getting a job by ID
5906
+ */
5907
+ interface JobGetByIdOptions extends BaseOptions {
5908
+ }
5388
5909
 
5910
+ /** Combined response type for job data with bound methods. */
5911
+ type JobGetResponse = RawJobGetResponse & JobMethods;
5389
5912
  /**
5390
5913
  * Service for managing UiPath Orchestrator Jobs.
5391
5914
  *
@@ -5404,9 +5927,15 @@ type JobGetAllOptions = RequestOptions & PaginationOptions & {
5404
5927
  */
5405
5928
  interface JobServiceModel {
5406
5929
  /**
5407
- * Gets all jobs across folders with optional filtering
5930
+ * Gets all jobs across folders with optional filtering and pagination.
5408
5931
  *
5409
- * @param options - Query options including optional folderId and pagination options
5932
+ * Returns jobs with full details including state, timing, and input/output arguments.
5933
+ * Pass `folderId` to scope the query to a specific folder.
5934
+ *
5935
+ * !!! info "Input and output fields are not included in `getAll` responses"
5936
+ * The `inputArguments`, `inputFile`, `outputArguments`, and `outputFile` fields will always be `null` in the `getAll` response. To retrieve a job's output, use the {@link getOutput} method with the job's `key` and `folderId`.
5937
+ *
5938
+ * @param options - Query options including optional folderId, filtering, and pagination options
5410
5939
  * @returns Promise resolving to either an array of jobs {@link NonPaginatedResponse}<{@link JobGetResponse}> or a {@link PaginatedResponse}<{@link JobGetResponse}> when pagination options are used.
5411
5940
  * {@link JobGetResponse}
5412
5941
  * @example
@@ -5438,7 +5967,102 @@ interface JobServiceModel {
5438
5967
  * ```
5439
5968
  */
5440
5969
  getAll<T extends JobGetAllOptions = JobGetAllOptions>(options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<JobGetResponse> : NonPaginatedResponse<JobGetResponse>>;
5970
+ /**
5971
+ * Gets a job by its unique key (GUID).
5972
+ *
5973
+ * Returns the full job details including state, timing, input/output arguments, and error information.
5974
+ * Use `expand` to include related entities like `robot`, or `machine`.
5975
+ *
5976
+ * @param id - The unique key (GUID) of the job to retrieve
5977
+ * @param folderId - The folder ID where the job resides
5978
+ * @param options - Optional query options for expanding or selecting fields
5979
+ * @returns Promise resolving to a {@link JobGetResponse} with full job details and bound methods
5980
+ *
5981
+ * @example
5982
+ * ```typescript
5983
+ * // Get a job by key
5984
+ * const job = await jobs.getById(<id>, <folderId>);
5985
+ * console.log(job.state, job.processName);
5986
+ * ```
5987
+ *
5988
+ * @example
5989
+ * ```typescript
5990
+ * // With expanded related entities
5991
+ * const job = await jobs.getById(<id>, <folderId>, {
5992
+ * expand: 'robot,machine'
5993
+ * });
5994
+ * console.log(job.robot?.name, job.machine?.name);
5995
+ * ```
5996
+ */
5997
+ getById(id: string, folderId: number, options?: JobGetByIdOptions): Promise<JobGetResponse>;
5998
+ /**
5999
+ * Gets the output of a completed job.
6000
+ *
6001
+ * Retrieves the job's output arguments, handling both inline output (stored directly on the job
6002
+ * as a JSON string in `outputArguments`) and file-based output (stored as a blob attachment for
6003
+ * large outputs). Returns the parsed JSON output or `null` if the job has no output.
6004
+ *
6005
+ * @param jobKey - The unique key (GUID) of the job to retrieve output from
6006
+ * @param folderId - The folder ID where the job resides
6007
+ * @returns Promise resolving to the parsed output as `Record<string, unknown>`, or `null` if no output exists
6008
+ *
6009
+ * @example
6010
+ * ```typescript
6011
+ * // Get output from a completed job
6012
+ * const output = await jobs.getOutput(<jobKey>, <folderId>);
6013
+ *
6014
+ * if (output) {
6015
+ * console.log('Job output:', output);
6016
+ * }
6017
+ * ```
6018
+ *
6019
+ * @example
6020
+ * ```typescript
6021
+ * // Get output using bound method (jobKey and folderId are taken from the job object)
6022
+ * const allJobs = await jobs.getAll();
6023
+ * const completedJob = allJobs.items.find(j => j.state === JobState.Successful);
6024
+ *
6025
+ * if (completedJob) {
6026
+ * const output = await completedJob.getOutput();
6027
+ * }
6028
+ * ```
6029
+ */
6030
+ getOutput(jobKey: string, folderId: number): Promise<Record<string, unknown> | null>;
5441
6031
  }
6032
+ /**
6033
+ * Methods available on job response objects.
6034
+ * These are bound to the job data and delegate to the service.
6035
+ */
6036
+ interface JobMethods {
6037
+ /**
6038
+ * Gets the output of this job.
6039
+ *
6040
+ * Retrieves the job's output arguments, handling both inline output (stored directly on the job
6041
+ * as a JSON string in `outputArguments`) and file-based output (stored as a blob attachment for
6042
+ * large outputs). Returns the parsed JSON output or `null` if the job has no output.
6043
+ *
6044
+ * @returns Promise resolving to the parsed output as `Record<string, unknown>`, or `null` if no output exists
6045
+ *
6046
+ * @example
6047
+ * ```typescript
6048
+ * const allJobs = await jobs.getAll();
6049
+ * const completedJob = allJobs.items.find(j => j.state === JobState.Successful);
6050
+ *
6051
+ * if (completedJob) {
6052
+ * const output = await completedJob.getOutput();
6053
+ * }
6054
+ * ```
6055
+ */
6056
+ getOutput(): Promise<Record<string, unknown> | null>;
6057
+ }
6058
+ /**
6059
+ * Creates a job response with bound methods.
6060
+ *
6061
+ * @param jobData - The raw job data from API
6062
+ * @param service - The job service instance
6063
+ * @returns A job object with added methods
6064
+ */
6065
+ declare function createJobWithMethods(jobData: RawJobGetResponse, service: JobServiceModel): JobGetResponse;
5442
6066
 
5443
6067
  /**
5444
6068
  * Service for managing and executing UiPath Automation Processes.
@@ -10633,7 +11257,11 @@ interface ConversationalAgentServiceModel {
10633
11257
  * Options for ConversationalAgentService constructor
10634
11258
  */
10635
11259
  interface ConversationalAgentOptions {
10636
- /** External User ID (optional) */
11260
+ /**
11261
+ * External user ID required when authenticating via an app-scoped external app
11262
+ * (client credential grant). Must be set when the access token was issued for an
11263
+ * external app client; omit for standard UiPath user tokens.
11264
+ */
10637
11265
  externalUserId?: string;
10638
11266
  /** Log level for debugging */
10639
11267
  logLevel?: LogLevel;
@@ -10983,7 +11611,7 @@ declare const telemetryClient: TelemetryClient;
10983
11611
  * SDK Telemetry constants
10984
11612
  */
10985
11613
  declare 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";
10986
- declare const SDK_VERSION = "1.2.2";
11614
+ declare const SDK_VERSION = "1.3.1";
10987
11615
  declare const VERSION = "Version";
10988
11616
  declare const SERVICE = "Service";
10989
11617
  declare const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
@@ -10998,5 +11626,5 @@ declare const SDK_LOGGER_NAME = "uipath-ts-sdk-telemetry";
10998
11626
  declare const SDK_RUN_EVENT = "Sdk.Run";
10999
11627
  declare const UNKNOWN = "";
11000
11628
 
11001
- export { APP_NAME, AgentMap, AssetValueScope, AssetValueType, AuthenticationError, AuthorizationError, BucketOptions, CLOUD_CLIENT_ID, CLOUD_ORGANIZATION_NAME, CLOUD_REDIRECT_URI, CLOUD_ROLE_NAME, CLOUD_TENANT_NAME, CLOUD_URL, CONNECTION_STRING, CitationErrorType, ConversationMap, DEFAULT_ITEMS_FIELD, DEFAULT_PAGE_SIZE, DEFAULT_TOTAL_COUNT_FIELD, DataDirectionType, DebugMode, EntityFieldDataType, EntityType, ErrorType, EscalationActionType, EscalationRecipientScope, EscalationTriggerType, ExchangeMap, FeedbackRating, FieldDisplayType, HttpStatus, InputStreamSpeechSensitivity, InterruptType, JobPriority, JobSourceType, JobState, JobSubState, JobType, JoinType, MAX_PAGE_SIZE, MessageMap, MessageRole, NetworkError, NotFoundError, PackageSourceType, PackageType, ProcessIncidentSeverity, ProcessIncidentStatus, ProcessIncidentType, RateLimitError, ReferenceType, RemoteControlAccess, RobotSize, RuntimeType, SDK_LOGGER_NAME, SDK_RUN_EVENT, SDK_SERVICE_NAME, SDK_VERSION, SERVICE, SLADurationUnit, ServerError, ServerlessJobType, SortOrder, StageTaskType, StartStrategy, StopStrategy, TargetFramework, TaskActivityType, TaskPriority, TaskSlaCriteria, TaskSlaStatus, TaskSourceName, TaskStatus, TaskType, UNKNOWN, UiPath, UiPathError, UiPathMetaTags, UserSettingsMap, VERSION, ValidationError, createAgentWithMethods, createCaseInstanceWithMethods, createConversationWithMethods, createEntityWithMethods, createProcessInstanceWithMethods, createProcessWithMethods, createTaskWithMethods, getAppBase, getAsset, getErrorDetails, getLimitedPageSize, isAuthenticationError, isAuthorizationError, isNetworkError, isNotFoundError, isRateLimitError, isServerError, isUiPathError, isValidationError, loadFromMetaTags, telemetryClient, track, trackEvent };
11002
- export type { AgentAppearance, AgentConversationServiceModel, AgentCreateConversationOptions, AgentGetByIdResponse, AgentGetResponse, AgentMethods, AgentStartingPrompt, ArgumentMetadata, AssetGetAllOptions, AssetGetByIdOptions, AssetGetResponse, AssetServiceModel, AsyncInputStream, AsyncInputStreamChunkEvent, AsyncInputStreamEndEvent, AsyncInputStreamEvent, AsyncInputStreamStartEvent, AsyncToolCallStream, AttachmentGetByIdOptions, AttachmentResponse, AttachmentServiceModel, BaseConfig, BaseOptions, BaseProcessStartRequest, BlobItem, BodyOptions, BpmnXmlString, BucketGetAllOptions, BucketGetByIdOptions, BucketGetFileMetaDataOptions, BucketGetFileMetaDataResponse, BucketGetFileMetaDataWithPaginationOptions, BucketGetReadUriOptions, BucketGetResponse, BucketGetUriOptions, BucketGetUriResponse, BucketServiceModel, BucketUploadFileOptions, BucketUploadResponse, CaseAppConfig, CaseAppOverview, CaseGetAllResponse, CaseGetStageResponse, CaseInstanceExecutionHistoryResponse, CaseInstanceGetAllOptions, CaseInstanceGetAllWithPaginationOptions, CaseInstanceGetResponse, CaseInstanceMethods, CaseInstanceOperationOptions, CaseInstanceOperationResponse, CaseInstanceReopenOptions, CaseInstanceRun, CaseInstancesServiceModel, CasesServiceModel, ChoiceSetGetAllResponse, ChoiceSetGetByIdOptions, ChoiceSetGetResponse, ChoiceSetServiceModel, Citation, CitationEndEvent, CitationError, CitationEvent, CitationOptions, CitationSource, CitationSourceBase, CitationSourceMedia, CitationSourceUrl, CitationStartEvent, CollectionResponse, CompletedContentPart, CompletedMessage, CompletedToolCall, ContentPart, ContentPartChunkEvent, ContentPartData, ContentPartEndEvent, ContentPartEvent, ContentPartGetResponse, ContentPartInterrupted, ContentPartStartEvent, ContentPartStartMetaData, ContentPartStream, ConversationAttachmentCreateResponse, ConversationAttachmentUploadResponse, ConversationCreateOptions, ConversationCreateResponse, ConversationDeleteResponse, ConversationEvent, ConversationExchangeServiceModel, ConversationGetAllOptions, ConversationGetResponse, ConversationJobStartOverrides, ConversationMethods, ConversationServiceModel, ConversationSessionMethods, ConversationSessionOptions, ConversationUpdateOptions, ConversationUpdateResponse, ConversationalAgentOptions, ConversationalAgentServiceModel, CreateFeedbackOptions, CustomKeyValuePair, ElementExecutionMetadata, ElementMetaData, ElementRunMetadata, EntityBatchInsertOptions, EntityBatchInsertResponse, EntityDeleteAttachmentResponse, EntityDeleteOptions, EntityDeleteRecordsOptions, EntityDeleteResponse, EntityFileType, EntityGetAllRecordsOptions, EntityGetRecordByIdOptions, EntityGetRecordsByIdOptions, EntityGetResponse, EntityInsertOptions, EntityInsertRecordOptions, EntityInsertRecordsOptions, EntityInsertResponse, EntityMethods, EntityOperationOptions, EntityOperationResponse, EntityRecord, EntityServiceModel, EntityUpdateOptions, EntityUpdateRecordOptions, EntityUpdateRecordResponse, EntityUpdateRecordsOptions, EntityUpdateResponse, EntityUploadAttachmentOptions, EntityUploadAttachmentResponse, ErrorEndEvent, ErrorEvent, ErrorStartEvent, EscalationAction, EscalationRecipient, EscalationRule, EscalationTriggerMetadata, Exchange, ExchangeEndEvent, ExchangeEvent, ExchangeGetAllOptions, ExchangeGetByIdOptions, ExchangeGetResponse, ExchangeServiceModel, ExchangeStartEvent, ExchangeStream, ExternalConnection, ExternalField, ExternalFieldMapping, ExternalObject, ExternalSourceFields, ExternalValue, FailureRecord, FeatureFlags, FeedbackCreateResponse, Field, FieldDataType, FieldMetaData, FileUploadAccess, FolderProperties, GenericInterruptStartEvent, GlobalVariableMetaData, HasPaginationOptions, Headers, HttpMethod, InlineOrExternalValue, InlineValue, Interrupt, InterruptEndEvent, InterruptEvent, InterruptStartEvent, JSONArray, JSONObject, JSONPrimitive, JSONValue, JobAttachment, JobError, JobGetAllOptions, JobGetResponse, JobServiceModel, LabelUpdatedEvent, Machine, MaestroProcessGetAllResponse, MaestroProcessesServiceModel, MakeOptional, MakeRequired, Message, MessageEndEvent, MessageEvent, MessageGetResponse, MessageServiceModel, MessageStartEvent, MessageStream, MetaData, MetaEvent, NonPaginatedResponse, OAuthFields, OperationResponse, PaginatedResponse, PaginationCursor, PaginationMetadata, PaginationMethodUnion, PaginationOptions, PartialUiPathConfig, ProcessGetAllOptions, ProcessGetByIdOptions, ProcessGetResponse, ProcessIncidentGetAllResponse, ProcessIncidentGetResponse, ProcessIncidentsServiceModel, ProcessInstanceExecutionHistoryResponse, ProcessInstanceGetAllOptions, ProcessInstanceGetAllWithPaginationOptions, ProcessInstanceGetResponse, ProcessInstanceGetVariablesOptions, ProcessInstanceGetVariablesResponse, ProcessInstanceMethods, ProcessInstanceOperationOptions, ProcessInstanceOperationResponse, ProcessInstanceRun, ProcessInstancesServiceModel, ProcessMetadata, ProcessMethods, ProcessProperties, ProcessServiceModel, ProcessStartRequest, ProcessStartRequestWithKey, ProcessStartRequestWithName, ProcessStartResponse, QueryParams, QueueGetAllOptions, QueueGetByIdOptions, QueueGetResponse, QueueServiceModel, RawAgentGetByIdResponse, RawAgentGetResponse, RawCaseInstanceGetResponse, RawConversationGetResponse, RawEntityGetResponse, RawMaestroProcessGetAllResponse, RawProcessInstanceGetResponse, RawTaskCreateResponse, RawTaskGetResponse, RequestOptions, RequestSpec, ResponseDictionary, ResponseType, RetryOptions, RobotMetadata, SessionCapabilities, SessionEndEvent, SessionEndingEvent, SessionStartEvent, SessionStartedEvent, SessionStream, Simplify, SourceJoinCriteria, StageSLA, StageTask, Tag, TaskActivity, TaskAssignOptions, TaskAssignment, TaskAssignmentOptions, TaskAssignmentResponse, TaskBaseResponse, TaskCompleteOptions, TaskCompletionOptions, TaskCreateOptions, TaskCreateResponse, TaskGetAllOptions, TaskGetByIdOptions, TaskGetResponse, TaskGetUsersOptions, TaskMethods, TaskServiceModel, TaskSlaDetail, TaskSource, TasksUnassignOptions, TimeoutOptions, ToolCall, ToolCallConfirmationEndValue, ToolCallConfirmationInterruptStartEvent, ToolCallConfirmationValue, ToolCallEndEvent, ToolCallEvent, ToolCallInputValue, ToolCallOutputValue, ToolCallResult, ToolCallStartEvent, ToolCallStream, UiPathSDKConfig, UserLoginInfo, UserServiceModel, UserSettingsGetResponse, UserSettingsUpdateOptions, UserSettingsUpdateResponse };
11629
+ export { APP_NAME, AgentMap, AssetValueScope, AssetValueType, AuthenticationError, AuthorizationError, BucketOptions, CLOUD_CLIENT_ID, CLOUD_ORGANIZATION_NAME, CLOUD_REDIRECT_URI, CLOUD_ROLE_NAME, CLOUD_TENANT_NAME, CLOUD_URL, CONNECTION_STRING, CitationErrorType, ConversationMap, DEFAULT_ITEMS_FIELD, DEFAULT_PAGE_SIZE, DEFAULT_TOTAL_COUNT_FIELD, DataDirectionType, DebugMode, EntityFieldDataType, EntityType, ErrorType, EscalationActionType, EscalationRecipientScope, EscalationTriggerType, ExchangeMap, FeedbackRating, FieldDisplayType, HttpStatus, InputStreamSpeechSensitivity, InterruptType, JobPriority, JobSourceType, JobState, JobSubState, JobType, JoinType, LogicalOperator, MAX_PAGE_SIZE, MessageMap, MessageRole, NetworkError, NotFoundError, PackageSourceType, PackageType, ProcessIncidentSeverity, ProcessIncidentStatus, ProcessIncidentType, QueryFilterOperator, RateLimitError, ReferenceType, RemoteControlAccess, RobotSize, RuntimeType, SDK_LOGGER_NAME, SDK_RUN_EVENT, SDK_SERVICE_NAME, SDK_VERSION, SERVICE, SLADurationUnit, ServerError, ServerlessJobType, SortOrder, StageTaskType, StartStrategy, StopStrategy, TargetFramework, TaskActivityType, TaskPriority, TaskSlaCriteria, TaskSlaStatus, TaskSourceName, TaskStatus, TaskType, UNKNOWN, UiPath, UiPathError, UiPathMetaTags, UserSettingsMap, VERSION, ValidationError, createAgentWithMethods, createCaseInstanceWithMethods, createConversationWithMethods, createEntityWithMethods, createJobWithMethods, createProcessInstanceWithMethods, createProcessWithMethods, createTaskWithMethods, getAppBase, getAsset, getErrorDetails, getLimitedPageSize, isAuthenticationError, isAuthorizationError, isNetworkError, isNotFoundError, isRateLimitError, isServerError, isUiPathError, isValidationError, loadFromMetaTags, telemetryClient, track, trackEvent };
11630
+ export type { AgentAppearance, AgentConversationServiceModel, AgentCreateConversationOptions, AgentGetByIdResponse, AgentGetResponse, AgentMethods, AgentStartingPrompt, ArgumentMetadata, AssetGetAllOptions, AssetGetByIdOptions, AssetGetResponse, AssetServiceModel, AsyncInputStream, AsyncInputStreamChunkEvent, AsyncInputStreamEndEvent, AsyncInputStreamEvent, AsyncInputStreamStartEvent, AsyncToolCallStream, AttachmentGetByIdOptions, AttachmentResponse, AttachmentServiceModel, BaseConfig, BaseOptions, BaseProcessStartRequest, BlobItem, BodyOptions, BpmnXmlString, BucketGetAllOptions, BucketGetByIdOptions, BucketGetFileMetaDataOptions, BucketGetFileMetaDataResponse, BucketGetFileMetaDataWithPaginationOptions, BucketGetReadUriOptions, BucketGetResponse, BucketGetUriOptions, BucketGetUriResponse, BucketServiceModel, BucketUploadFileOptions, BucketUploadResponse, CaseAppConfig, CaseAppOverview, CaseGetAllResponse, CaseGetStageResponse, CaseInstanceExecutionHistoryResponse, CaseInstanceGetAllOptions, CaseInstanceGetAllWithPaginationOptions, CaseInstanceGetResponse, CaseInstanceMethods, CaseInstanceOperationOptions, CaseInstanceOperationResponse, CaseInstanceReopenOptions, CaseInstanceRun, CaseInstancesServiceModel, CasesServiceModel, ChoiceSetGetAllResponse, ChoiceSetGetByIdOptions, ChoiceSetGetResponse, ChoiceSetServiceModel, Citation, CitationEndEvent, CitationError, CitationEvent, CitationOptions, CitationSource, CitationSourceBase, CitationSourceMedia, CitationSourceUrl, CitationStartEvent, CollectionResponse, CompletedContentPart, CompletedMessage, CompletedToolCall, ContentPart, ContentPartChunkEvent, ContentPartData, ContentPartEndEvent, ContentPartEvent, ContentPartGetResponse, ContentPartInterrupted, ContentPartStartEvent, ContentPartStartMetaData, ContentPartStream, ConversationAttachmentCreateResponse, ConversationAttachmentUploadResponse, ConversationCreateOptions, ConversationCreateResponse, ConversationDeleteResponse, ConversationEvent, ConversationExchangeServiceModel, ConversationGetAllOptions, ConversationGetResponse, ConversationJobStartOverrides, ConversationMethods, ConversationServiceModel, ConversationSessionMethods, ConversationSessionOptions, ConversationUpdateOptions, ConversationUpdateResponse, ConversationalAgentOptions, ConversationalAgentServiceModel, CreateFeedbackOptions, CustomKeyValuePair, ElementExecutionMetadata, ElementMetaData, ElementRunMetadata, EntityBatchInsertOptions, EntityBatchInsertResponse, EntityCreateFieldOptions, EntityCreateOptions, EntityDeleteAttachmentResponse, EntityDeleteOptions, EntityDeleteRecordsOptions, EntityDeleteResponse, EntityFieldBase, EntityFieldUpdateOptions, EntityFileType, EntityGetAllRecordsOptions, EntityGetRecordByIdOptions, EntityGetRecordsByIdOptions, EntityGetResponse, EntityImportRecordsResponse, EntityInsertOptions, EntityInsertRecordOptions, EntityInsertRecordsOptions, EntityInsertResponse, EntityMethods, EntityOperationOptions, EntityOperationResponse, EntityQueryFilter, EntityQueryFilterGroup, EntityQueryRecordsOptions, EntityQueryRecordsResponse, EntityQuerySortOption, EntityRecord, EntityRemoveFieldOptions, EntityServiceModel, EntityUpdateByIdOptions, EntityUpdateOptions, EntityUpdateRecordOptions, EntityUpdateRecordResponse, EntityUpdateRecordsOptions, EntityUpdateResponse, EntityUploadAttachmentOptions, EntityUploadAttachmentResponse, ErrorEndEvent, ErrorEvent, ErrorStartEvent, EscalationAction, EscalationRecipient, EscalationRule, EscalationTriggerMetadata, Exchange, ExchangeEndEvent, ExchangeEvent, ExchangeGetAllOptions, ExchangeGetByIdOptions, ExchangeGetResponse, ExchangeServiceModel, ExchangeStartEvent, ExchangeStream, ExternalConnection, ExternalField, ExternalFieldMapping, ExternalObject, ExternalSourceFields, ExternalValue, FailureRecord, FeatureFlags, FeedbackCreateResponse, Field, FieldDataType, FieldMetaData, FileUploadAccess, FolderProperties, GenericInterruptStartEvent, GlobalVariableMetaData, HasPaginationOptions, Headers, HttpMethod, InlineOrExternalValue, InlineValue, Interrupt, InterruptEndEvent, InterruptEvent, InterruptStartEvent, JSONArray, JSONObject, JSONPrimitive, JSONValue, JobAttachment, JobError, JobGetAllOptions, JobGetByIdOptions, JobGetResponse, JobMethods, JobServiceModel, LabelUpdatedEvent, Machine, MaestroProcessGetAllResponse, MaestroProcessesServiceModel, MakeOptional, MakeRequired, Message, MessageEndEvent, MessageEvent, MessageGetResponse, MessageServiceModel, MessageStartEvent, MessageStream, MetaData, MetaEvent, NonPaginatedResponse, OAuthFields, OperationResponse, PaginatedResponse, PaginationCursor, PaginationMetadata, PaginationMethodUnion, PaginationOptions, PartialUiPathConfig, ProcessGetAllOptions, ProcessGetByIdOptions, ProcessGetResponse, ProcessIncidentGetAllResponse, ProcessIncidentGetResponse, ProcessIncidentsServiceModel, ProcessInstanceExecutionHistoryResponse, ProcessInstanceGetAllOptions, ProcessInstanceGetAllWithPaginationOptions, ProcessInstanceGetResponse, ProcessInstanceGetVariablesOptions, ProcessInstanceGetVariablesResponse, ProcessInstanceMethods, ProcessInstanceOperationOptions, ProcessInstanceOperationResponse, ProcessInstanceRun, ProcessInstancesServiceModel, ProcessMetadata, ProcessMethods, ProcessProperties, ProcessServiceModel, ProcessStartRequest, ProcessStartRequestWithKey, ProcessStartRequestWithName, ProcessStartResponse, QueryParams, QueueGetAllOptions, QueueGetByIdOptions, QueueGetResponse, QueueServiceModel, RawAgentGetByIdResponse, RawAgentGetResponse, RawCaseInstanceGetResponse, RawConversationGetResponse, RawEntityGetResponse, RawJobGetResponse, RawMaestroProcessGetAllResponse, RawProcessInstanceGetResponse, RawTaskCreateResponse, RawTaskGetResponse, RequestOptions, RequestSpec, ResponseDictionary, ResponseType, RetryOptions, RobotMetadata, SessionCapabilities, SessionEndEvent, SessionEndingEvent, SessionStartEvent, SessionStartedEvent, SessionStream, Simplify, SourceJoinCriteria, SqlType, StageSLA, StageTask, Tag, TaskActivity, TaskAssignOptions, TaskAssignment, TaskAssignmentOptions, TaskAssignmentResponse, TaskBaseResponse, TaskCompleteOptions, TaskCompletionOptions, TaskCreateOptions, TaskCreateResponse, TaskGetAllOptions, TaskGetByIdOptions, TaskGetResponse, TaskGetUsersOptions, TaskMethods, TaskServiceModel, TaskSlaDetail, TaskSource, TasksUnassignOptions, TimeoutOptions, ToolCall, ToolCallConfirmationEndValue, ToolCallConfirmationInterruptStartEvent, ToolCallConfirmationValue, ToolCallEndEvent, ToolCallEvent, ToolCallInputValue, ToolCallOutputValue, ToolCallResult, ToolCallStartEvent, ToolCallStream, UiPathSDKConfig, UserLoginInfo, UserServiceModel, UserSettingsGetResponse, UserSettingsUpdateOptions, UserSettingsUpdateResponse };