@uipath/uipath-typescript 1.3.8 → 1.3.9
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 +25 -270
- package/dist/assets/index.mjs +25 -270
- package/dist/attachments/index.cjs +23 -267
- package/dist/attachments/index.mjs +23 -267
- package/dist/buckets/index.cjs +54 -270
- package/dist/buckets/index.d.ts +50 -1
- package/dist/buckets/index.mjs +54 -270
- package/dist/cases/index.cjs +408 -337
- package/dist/cases/index.d.ts +534 -2
- package/dist/cases/index.mjs +409 -338
- package/dist/conversational-agent/index.cjs +71 -281
- package/dist/conversational-agent/index.d.ts +62 -12
- package/dist/conversational-agent/index.mjs +71 -282
- package/dist/core/index.cjs +39 -289
- package/dist/core/index.d.ts +9 -98
- package/dist/core/index.mjs +40 -275
- package/dist/document-understanding/index.cjs +18 -1
- package/dist/document-understanding/index.d.ts +636 -610
- package/dist/document-understanding/index.mjs +18 -1
- package/dist/entities/index.cjs +25 -270
- package/dist/entities/index.mjs +25 -270
- package/dist/feedback/index.cjs +23 -268
- package/dist/feedback/index.mjs +23 -268
- package/dist/index.cjs +600 -293
- package/dist/index.d.ts +1603 -722
- package/dist/index.mjs +600 -279
- package/dist/index.umd.js +789 -158
- package/dist/jobs/index.cjs +25 -270
- package/dist/jobs/index.mjs +25 -270
- package/dist/maestro-processes/index.cjs +1751 -1720
- package/dist/maestro-processes/index.d.ts +430 -2
- package/dist/maestro-processes/index.mjs +1752 -1721
- package/dist/processes/index.cjs +25 -270
- package/dist/processes/index.mjs +25 -270
- package/dist/queues/index.cjs +25 -270
- package/dist/queues/index.mjs +25 -270
- package/dist/tasks/index.cjs +25 -270
- package/dist/tasks/index.mjs +25 -270
- package/package.json +8 -10
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getOrCreateClient, createTrack, createTrackEvent } from '@uipath/core-telemetry';
|
|
2
2
|
|
|
3
3
|
/******************************************************************************
|
|
4
4
|
Copyright (c) Microsoft Corporation.
|
|
@@ -4588,6 +4588,16 @@ const MAESTRO_ENDPOINTS = {
|
|
|
4588
4588
|
INSIGHTS: {
|
|
4589
4589
|
/** SLA summary for case instances */
|
|
4590
4590
|
SLA_SUMMARY: `${INSIGHTS_RTM_BASE}/caseManagement/slaSummary`,
|
|
4591
|
+
/** Stages summary for case instances */
|
|
4592
|
+
STAGES_SUMMARY: `${INSIGHTS_RTM_BASE}/caseManagement/stages`,
|
|
4593
|
+
/** Top processes ranked by run count */
|
|
4594
|
+
TOP_PROCESSES_BY_RUN_COUNT: `${INSIGHTS_RTM_BASE}/agenticInstanceStatus/TopProcessesByRunCount`,
|
|
4595
|
+
/** Top processes ranked by failure count */
|
|
4596
|
+
TOP_PROCESSES_WITH_FAILURE: `${INSIGHTS_RTM_BASE}/agenticInstanceStatus/TopProcesseswithFailure`,
|
|
4597
|
+
/** Instance status aggregated by date for time-series charts */
|
|
4598
|
+
INSTANCE_STATUS_BY_DATE: `${INSIGHTS_RTM_BASE}/agenticInstanceStatus/InstanceStatusByDate`,
|
|
4599
|
+
/** Top processes ranked by total duration */
|
|
4600
|
+
TOP_PROCESSES_BY_DURATION: `${INSIGHTS_RTM_BASE}/agenticInstanceStatus/TopProcessesByDuration`,
|
|
4591
4601
|
},
|
|
4592
4602
|
};
|
|
4593
4603
|
|
|
@@ -5462,284 +5472,49 @@ function normalizeBaseUrl(url) {
|
|
|
5462
5472
|
}
|
|
5463
5473
|
|
|
5464
5474
|
/**
|
|
5465
|
-
* SDK Telemetry constants
|
|
5466
|
-
*/
|
|
5467
|
-
// Connection string placeholder that will be replaced during build
|
|
5468
|
-
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";
|
|
5469
|
-
// SDK Version placeholder
|
|
5470
|
-
const SDK_VERSION = "1.3.8";
|
|
5471
|
-
const VERSION = "Version";
|
|
5472
|
-
const SERVICE = "Service";
|
|
5473
|
-
const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
|
|
5474
|
-
const CLOUD_TENANT_NAME = "CloudTenantName";
|
|
5475
|
-
const CLOUD_URL = "CloudUrl";
|
|
5476
|
-
const CLOUD_CLIENT_ID = "CloudClientId";
|
|
5477
|
-
const CLOUD_REDIRECT_URI = "CloudRedirectUri";
|
|
5478
|
-
const APP_NAME = "ApplicationName";
|
|
5479
|
-
const CLOUD_ROLE_NAME = "uipath-ts-sdk";
|
|
5480
|
-
// Service and logger names
|
|
5481
|
-
const SDK_SERVICE_NAME = "UiPath.TypeScript.Sdk";
|
|
5482
|
-
const SDK_LOGGER_NAME = "uipath-ts-sdk-telemetry";
|
|
5483
|
-
// Event names
|
|
5484
|
-
const SDK_RUN_EVENT = "Sdk.Run";
|
|
5485
|
-
// Default value for unknown/empty attributes
|
|
5486
|
-
const UNKNOWN$1 = "";
|
|
5487
|
-
|
|
5488
|
-
/**
|
|
5489
|
-
* Log exporter that sends ALL logs as Application Insights custom events
|
|
5490
|
-
*/
|
|
5491
|
-
class ApplicationInsightsEventExporter {
|
|
5492
|
-
constructor(connectionString) {
|
|
5493
|
-
this.connectionString = connectionString;
|
|
5494
|
-
}
|
|
5495
|
-
export(logs, resultCallback) {
|
|
5496
|
-
try {
|
|
5497
|
-
logs.forEach(logRecord => {
|
|
5498
|
-
this.sendAsCustomEvent(logRecord);
|
|
5499
|
-
});
|
|
5500
|
-
resultCallback({ code: 0 });
|
|
5501
|
-
}
|
|
5502
|
-
catch (error) {
|
|
5503
|
-
console.debug('Failed to export logs to Application Insights:', error);
|
|
5504
|
-
resultCallback({ code: 2, error });
|
|
5505
|
-
}
|
|
5506
|
-
}
|
|
5507
|
-
shutdown() {
|
|
5508
|
-
return Promise.resolve();
|
|
5509
|
-
}
|
|
5510
|
-
sendAsCustomEvent(logRecord) {
|
|
5511
|
-
// Get event name from body or attributes
|
|
5512
|
-
const eventName = logRecord.body || SDK_RUN_EVENT;
|
|
5513
|
-
const payload = {
|
|
5514
|
-
name: 'Microsoft.ApplicationInsights.Event',
|
|
5515
|
-
time: new Date().toISOString(),
|
|
5516
|
-
iKey: this.extractInstrumentationKey(),
|
|
5517
|
-
data: {
|
|
5518
|
-
baseType: 'EventData',
|
|
5519
|
-
baseData: {
|
|
5520
|
-
ver: 2,
|
|
5521
|
-
name: eventName,
|
|
5522
|
-
properties: this.convertAttributesToProperties(logRecord.attributes || {})
|
|
5523
|
-
}
|
|
5524
|
-
},
|
|
5525
|
-
tags: {
|
|
5526
|
-
'ai.cloud.role': CLOUD_ROLE_NAME,
|
|
5527
|
-
'ai.cloud.roleInstance': SDK_VERSION
|
|
5528
|
-
}
|
|
5529
|
-
};
|
|
5530
|
-
this.sendToApplicationInsights(payload);
|
|
5531
|
-
}
|
|
5532
|
-
extractInstrumentationKey() {
|
|
5533
|
-
const match = this.connectionString.match(/InstrumentationKey=([^;]+)/);
|
|
5534
|
-
return match ? match[1] : '';
|
|
5535
|
-
}
|
|
5536
|
-
convertAttributesToProperties(attributes) {
|
|
5537
|
-
const properties = {};
|
|
5538
|
-
Object.entries(attributes || {}).forEach(([key, value]) => {
|
|
5539
|
-
properties[key] = String(value);
|
|
5540
|
-
});
|
|
5541
|
-
return properties;
|
|
5542
|
-
}
|
|
5543
|
-
async sendToApplicationInsights(payload) {
|
|
5544
|
-
try {
|
|
5545
|
-
const ingestionEndpoint = this.extractIngestionEndpoint();
|
|
5546
|
-
if (!ingestionEndpoint) {
|
|
5547
|
-
console.debug('No ingestion endpoint found in connection string');
|
|
5548
|
-
return;
|
|
5549
|
-
}
|
|
5550
|
-
const url = `${ingestionEndpoint}/v2/track`;
|
|
5551
|
-
const response = await fetch(url, {
|
|
5552
|
-
method: 'POST',
|
|
5553
|
-
headers: {
|
|
5554
|
-
'Content-Type': 'application/json',
|
|
5555
|
-
},
|
|
5556
|
-
body: JSON.stringify(payload)
|
|
5557
|
-
});
|
|
5558
|
-
if (!response.ok) {
|
|
5559
|
-
console.debug(`Failed to send event telemetry: ${response.status} ${response.statusText}`);
|
|
5560
|
-
}
|
|
5561
|
-
}
|
|
5562
|
-
catch (error) {
|
|
5563
|
-
console.debug('Error sending event telemetry to Application Insights:', error);
|
|
5564
|
-
}
|
|
5565
|
-
}
|
|
5566
|
-
extractIngestionEndpoint() {
|
|
5567
|
-
const match = this.connectionString.match(/IngestionEndpoint=([^;]+)/);
|
|
5568
|
-
return match ? match[1] : '';
|
|
5569
|
-
}
|
|
5570
|
-
}
|
|
5571
|
-
/**
|
|
5572
|
-
* Singleton telemetry client
|
|
5573
|
-
*/
|
|
5574
|
-
class TelemetryClient {
|
|
5575
|
-
constructor() {
|
|
5576
|
-
this.isInitialized = false;
|
|
5577
|
-
}
|
|
5578
|
-
static getInstance() {
|
|
5579
|
-
if (!TelemetryClient.instance) {
|
|
5580
|
-
TelemetryClient.instance = new TelemetryClient();
|
|
5581
|
-
}
|
|
5582
|
-
return TelemetryClient.instance;
|
|
5583
|
-
}
|
|
5584
|
-
/**
|
|
5585
|
-
* Initialize telemetry
|
|
5586
|
-
*/
|
|
5587
|
-
initialize(config) {
|
|
5588
|
-
if (this.isInitialized) {
|
|
5589
|
-
return;
|
|
5590
|
-
}
|
|
5591
|
-
this.isInitialized = true;
|
|
5592
|
-
if (config) {
|
|
5593
|
-
this.telemetryContext = config;
|
|
5594
|
-
}
|
|
5595
|
-
try {
|
|
5596
|
-
const connectionString = this.getConnectionString();
|
|
5597
|
-
if (!connectionString) {
|
|
5598
|
-
return;
|
|
5599
|
-
}
|
|
5600
|
-
this.setupTelemetryProvider(connectionString);
|
|
5601
|
-
}
|
|
5602
|
-
catch (error) {
|
|
5603
|
-
// Silent failure - telemetry errors shouldn't break functionality
|
|
5604
|
-
console.debug('Failed to initialize OpenTelemetry:', error);
|
|
5605
|
-
}
|
|
5606
|
-
}
|
|
5607
|
-
getConnectionString() {
|
|
5608
|
-
const connectionString = CONNECTION_STRING;
|
|
5609
|
-
return connectionString;
|
|
5610
|
-
}
|
|
5611
|
-
setupTelemetryProvider(connectionString) {
|
|
5612
|
-
const exporter = new ApplicationInsightsEventExporter(connectionString);
|
|
5613
|
-
const processor = new BatchLogRecordProcessor(exporter);
|
|
5614
|
-
this.logProvider = new LoggerProvider({
|
|
5615
|
-
processors: [processor]
|
|
5616
|
-
});
|
|
5617
|
-
this.logger = this.logProvider.getLogger(SDK_LOGGER_NAME);
|
|
5618
|
-
}
|
|
5619
|
-
/**
|
|
5620
|
-
* Track a telemetry event
|
|
5621
|
-
*/
|
|
5622
|
-
track(eventName, name, extraAttributes = {}) {
|
|
5623
|
-
try {
|
|
5624
|
-
// Skip if logger not initialized
|
|
5625
|
-
if (!this.logger) {
|
|
5626
|
-
return;
|
|
5627
|
-
}
|
|
5628
|
-
const finalDisplayName = name || eventName;
|
|
5629
|
-
const attributes = this.getEnrichedAttributes(extraAttributes, eventName);
|
|
5630
|
-
// Emit as log
|
|
5631
|
-
this.logger.emit({
|
|
5632
|
-
body: finalDisplayName,
|
|
5633
|
-
attributes: attributes,
|
|
5634
|
-
timestamp: Date.now(),
|
|
5635
|
-
});
|
|
5636
|
-
}
|
|
5637
|
-
catch (error) {
|
|
5638
|
-
// Silent failure
|
|
5639
|
-
console.debug('Failed to track telemetry event:', error);
|
|
5640
|
-
}
|
|
5641
|
-
}
|
|
5642
|
-
/**
|
|
5643
|
-
* Get enriched attributes for telemetry events
|
|
5644
|
-
*/
|
|
5645
|
-
getEnrichedAttributes(extraAttributes, eventName) {
|
|
5646
|
-
const attributes = {
|
|
5647
|
-
[APP_NAME]: SDK_SERVICE_NAME,
|
|
5648
|
-
[VERSION]: SDK_VERSION,
|
|
5649
|
-
[SERVICE]: eventName,
|
|
5650
|
-
[CLOUD_URL]: this.createCloudUrl(),
|
|
5651
|
-
[CLOUD_ORGANIZATION_NAME]: this.telemetryContext?.orgName || UNKNOWN$1,
|
|
5652
|
-
[CLOUD_TENANT_NAME]: this.telemetryContext?.tenantName || UNKNOWN$1,
|
|
5653
|
-
[CLOUD_REDIRECT_URI]: this.telemetryContext?.redirectUri || UNKNOWN$1,
|
|
5654
|
-
[CLOUD_CLIENT_ID]: this.telemetryContext?.clientId || UNKNOWN$1,
|
|
5655
|
-
...extraAttributes,
|
|
5656
|
-
};
|
|
5657
|
-
return attributes;
|
|
5658
|
-
}
|
|
5659
|
-
/**
|
|
5660
|
-
* Create cloud URL from base URL, organization ID, and tenant ID
|
|
5661
|
-
*/
|
|
5662
|
-
createCloudUrl() {
|
|
5663
|
-
const baseUrl = this.telemetryContext?.baseUrl;
|
|
5664
|
-
const orgId = this.telemetryContext?.orgName;
|
|
5665
|
-
const tenantId = this.telemetryContext?.tenantName;
|
|
5666
|
-
if (!baseUrl || !orgId || !tenantId) {
|
|
5667
|
-
return UNKNOWN$1;
|
|
5668
|
-
}
|
|
5669
|
-
return `${baseUrl}/${orgId}/${tenantId}`;
|
|
5670
|
-
}
|
|
5671
|
-
}
|
|
5672
|
-
// Export singleton instance
|
|
5673
|
-
const telemetryClient = TelemetryClient.getInstance();
|
|
5674
|
-
|
|
5675
|
-
/**
|
|
5676
|
-
* SDK Track decorator and function for telemetry
|
|
5677
|
-
*/
|
|
5678
|
-
/**
|
|
5679
|
-
* Common tracking logic shared between method and function decorators
|
|
5680
|
-
*/
|
|
5681
|
-
function createTrackedFunction(originalFunction, nameOrOptions, fallbackName, opts) {
|
|
5682
|
-
return function (...args) {
|
|
5683
|
-
// Determine if we should track this call
|
|
5684
|
-
let shouldTrack = true;
|
|
5685
|
-
if (opts.condition !== undefined) {
|
|
5686
|
-
if (typeof opts.condition === 'function') {
|
|
5687
|
-
shouldTrack = opts.condition.apply(this, args);
|
|
5688
|
-
}
|
|
5689
|
-
else {
|
|
5690
|
-
shouldTrack = opts.condition;
|
|
5691
|
-
}
|
|
5692
|
-
}
|
|
5693
|
-
// Track the event if enabled
|
|
5694
|
-
if (shouldTrack) {
|
|
5695
|
-
// Use the full name provided in the decorator (e.g., "Queue.GetAll")
|
|
5696
|
-
const serviceMethod = typeof nameOrOptions === 'string'
|
|
5697
|
-
? nameOrOptions
|
|
5698
|
-
: fallbackName;
|
|
5699
|
-
// Use 'Sdk.Run' as the name and serviceMethod as the service
|
|
5700
|
-
telemetryClient.track(serviceMethod, SDK_RUN_EVENT, opts.attributes);
|
|
5701
|
-
}
|
|
5702
|
-
// Execute the original function
|
|
5703
|
-
return originalFunction.apply(this, args);
|
|
5704
|
-
};
|
|
5705
|
-
}
|
|
5706
|
-
/**
|
|
5707
|
-
* Track decorator that can be used to automatically track function calls
|
|
5708
|
-
*
|
|
5709
|
-
* Usage:
|
|
5710
|
-
* @track("Service.Method")
|
|
5711
|
-
* function myFunction() { ... }
|
|
5712
|
-
*
|
|
5713
|
-
* @track("Queue.GetAll")
|
|
5714
|
-
* async getAll() { ... }
|
|
5715
|
-
*
|
|
5716
|
-
* @track("Tasks.Create")
|
|
5717
|
-
* async create() { ... }
|
|
5475
|
+
* SDK Telemetry constants.
|
|
5718
5476
|
*
|
|
5719
|
-
*
|
|
5720
|
-
*
|
|
5477
|
+
* Only the SDK's identity (version, service name, role name, …) lives
|
|
5478
|
+
* here. The Application Insights connection string is injected into
|
|
5479
|
+
* `@uipath/core-telemetry` itself at publish time, and the generic attribute
|
|
5480
|
+
* keys (`Version`, `Service`, `CloudOrganizationName`, …) are owned by
|
|
5481
|
+
* `@uipath/core-telemetry` and consumed there — they are not part of the
|
|
5482
|
+
* SDK's public API.
|
|
5483
|
+
*/
|
|
5484
|
+
/** SDK version placeholder — patched by the SDK publish workflow. */
|
|
5485
|
+
const SDK_VERSION = '1.3.9';
|
|
5486
|
+
const CLOUD_ROLE_NAME = 'uipath-ts-sdk';
|
|
5487
|
+
const SDK_SERVICE_NAME = 'UiPath.TypeScript.Sdk';
|
|
5488
|
+
const SDK_LOGGER_NAME = 'uipath-ts-sdk-telemetry';
|
|
5489
|
+
const SDK_RUN_EVENT = 'Sdk.Run';
|
|
5490
|
+
|
|
5491
|
+
/**
|
|
5492
|
+
* UiPath TypeScript SDK Telemetry
|
|
5721
5493
|
*
|
|
5722
|
-
*
|
|
5723
|
-
*
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
|
|
5732
|
-
|
|
5733
|
-
|
|
5734
|
-
|
|
5735
|
-
|
|
5736
|
-
|
|
5737
|
-
|
|
5738
|
-
|
|
5739
|
-
|
|
5740
|
-
|
|
5741
|
-
|
|
5742
|
-
|
|
5494
|
+
* Constructs the SDK's own `TelemetryClient` and binds the SDK-local
|
|
5495
|
+
* `track` / `trackEvent` to it. Each consumer of `@uipath/core-telemetry`
|
|
5496
|
+
* does this independently, so events carry their own consumer's identity
|
|
5497
|
+
* and tenant context.
|
|
5498
|
+
*/
|
|
5499
|
+
// Keyed by `CLOUD_ROLE_NAME` so every SDK subpath bundle resolves to the
|
|
5500
|
+
// same `TelemetryClient` instance at runtime. A single `initialize(...)`
|
|
5501
|
+
// from the `UiPath` constructor therefore wires up `@track` decorators
|
|
5502
|
+
// across every subpath bundle (`assets`, `feedback`, `tasks`, …).
|
|
5503
|
+
const sdkClient = getOrCreateClient(CLOUD_ROLE_NAME);
|
|
5504
|
+
const track = createTrack(sdkClient);
|
|
5505
|
+
const trackEvent = createTrackEvent(sdkClient);
|
|
5506
|
+
const telemetryClient = {
|
|
5507
|
+
initialize(context) {
|
|
5508
|
+
sdkClient.initialize({
|
|
5509
|
+
sdkVersion: SDK_VERSION,
|
|
5510
|
+
serviceName: SDK_SERVICE_NAME,
|
|
5511
|
+
cloudRoleName: CLOUD_ROLE_NAME,
|
|
5512
|
+
loggerName: SDK_LOGGER_NAME,
|
|
5513
|
+
defaultEventName: SDK_RUN_EVENT,
|
|
5514
|
+
context,
|
|
5515
|
+
});
|
|
5516
|
+
},
|
|
5517
|
+
};
|
|
5743
5518
|
|
|
5744
5519
|
/**
|
|
5745
5520
|
* SDK Internals Registry - Internal registry for SDK instances
|
|
@@ -9326,6 +9101,53 @@ function createProcessWithMethods(processData, service) {
|
|
|
9326
9101
|
return Object.assign({}, processData, methods);
|
|
9327
9102
|
}
|
|
9328
9103
|
|
|
9104
|
+
/**
|
|
9105
|
+
* Builds the request body for Insights RTM "top" endpoints.
|
|
9106
|
+
*
|
|
9107
|
+
* @param startTime - Start of the time range to query
|
|
9108
|
+
* @param endTime - End of the time range to query
|
|
9109
|
+
* @param isCaseManagement - Whether to filter for case management processes
|
|
9110
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
9111
|
+
* @returns Request body for the Insights RTM endpoint
|
|
9112
|
+
* @internal
|
|
9113
|
+
*/
|
|
9114
|
+
function buildInsightsTopBody(startTime, endTime, isCaseManagement, options) {
|
|
9115
|
+
return {
|
|
9116
|
+
commonParams: {
|
|
9117
|
+
startTime: startTime.getTime(),
|
|
9118
|
+
endTime: endTime.getTime(),
|
|
9119
|
+
isCaseManagement,
|
|
9120
|
+
...(options?.packageId ? { packageId: options.packageId } : {}),
|
|
9121
|
+
...(options?.processKey ? { processKey: options.processKey } : {}),
|
|
9122
|
+
...(options?.version ? { version: options.version } : {}),
|
|
9123
|
+
}
|
|
9124
|
+
};
|
|
9125
|
+
}
|
|
9126
|
+
/**
|
|
9127
|
+
* Fetches instance status timeline from the Insights API.
|
|
9128
|
+
* Shared implementation used by both MaestroProcessesService and CasesService.
|
|
9129
|
+
*
|
|
9130
|
+
* @param postFn - Bound post method from a BaseService subclass
|
|
9131
|
+
* @param startTime - Start of the time range to query
|
|
9132
|
+
* @param endTime - End of the time range to query
|
|
9133
|
+
* @param isCaseManagement - Whether to filter for case management processes
|
|
9134
|
+
* @param options - Optional settings for time bucketing granularity
|
|
9135
|
+
* @returns Promise resolving to an array of instance status timeline entries
|
|
9136
|
+
* @internal
|
|
9137
|
+
*/
|
|
9138
|
+
async function fetchInstanceStatusTimeline(postFn, startTime, endTime, isCaseManagement, options) {
|
|
9139
|
+
const response = await postFn(MAESTRO_ENDPOINTS.INSIGHTS.INSTANCE_STATUS_BY_DATE, {
|
|
9140
|
+
commonParams: {
|
|
9141
|
+
startTime: startTime.getTime(),
|
|
9142
|
+
endTime: endTime.getTime(),
|
|
9143
|
+
isCaseManagement,
|
|
9144
|
+
},
|
|
9145
|
+
timeSliceUnit: options?.groupBy,
|
|
9146
|
+
timezoneOffset: new Date().getTimezoneOffset() * -1,
|
|
9147
|
+
});
|
|
9148
|
+
return response.data ?? [];
|
|
9149
|
+
}
|
|
9150
|
+
|
|
9329
9151
|
/**
|
|
9330
9152
|
* Maps fields for Incident entities
|
|
9331
9153
|
*/
|
|
@@ -9702,6 +9524,11 @@ function createCaseInstanceMethods(instanceData, service) {
|
|
|
9702
9524
|
if (!instanceData.instanceId)
|
|
9703
9525
|
throw new Error('Case instance ID is undefined');
|
|
9704
9526
|
return service.getSlaSummary({ ...options, caseInstanceId: instanceData.instanceId });
|
|
9527
|
+
},
|
|
9528
|
+
async getStagesSlaSummary() {
|
|
9529
|
+
if (!instanceData.instanceId)
|
|
9530
|
+
throw new Error('Case instance ID is undefined');
|
|
9531
|
+
return service.getStagesSlaSummary({ caseInstanceId: instanceData.instanceId });
|
|
9705
9532
|
}
|
|
9706
9533
|
};
|
|
9707
9534
|
}
|
|
@@ -9717,6 +9544,40 @@ function createCaseInstanceWithMethods(instanceData, service) {
|
|
|
9717
9544
|
return Object.assign({}, instanceData, methods);
|
|
9718
9545
|
}
|
|
9719
9546
|
|
|
9547
|
+
/**
|
|
9548
|
+
* Insights Types
|
|
9549
|
+
* Shared types for Maestro insights analytics endpoints
|
|
9550
|
+
*/
|
|
9551
|
+
/**
|
|
9552
|
+
* Time bucketing granularity for insights time-series queries.
|
|
9553
|
+
*
|
|
9554
|
+
* Controls how data points are grouped on the time axis.
|
|
9555
|
+
*/
|
|
9556
|
+
var TimeInterval;
|
|
9557
|
+
(function (TimeInterval) {
|
|
9558
|
+
/** Group data points by hour */
|
|
9559
|
+
TimeInterval["Hour"] = "HOUR";
|
|
9560
|
+
/** Group data points by day */
|
|
9561
|
+
TimeInterval["Day"] = "DAY";
|
|
9562
|
+
/** Group data points by week */
|
|
9563
|
+
TimeInterval["Week"] = "WEEK";
|
|
9564
|
+
})(TimeInterval || (TimeInterval = {}));
|
|
9565
|
+
/**
|
|
9566
|
+
* Final instance statuses returned by the instance status timeline endpoint.
|
|
9567
|
+
*
|
|
9568
|
+
* Only includes statuses where the instance has finished execution — Completed, Faulted, or Cancelled.
|
|
9569
|
+
* Active statuses like Running or Paused are not included.
|
|
9570
|
+
*/
|
|
9571
|
+
var InstanceFinalStatus;
|
|
9572
|
+
(function (InstanceFinalStatus) {
|
|
9573
|
+
/** Instance completed successfully */
|
|
9574
|
+
InstanceFinalStatus["Completed"] = "Completed";
|
|
9575
|
+
/** Instance encountered an error */
|
|
9576
|
+
InstanceFinalStatus["Faulted"] = "Faulted";
|
|
9577
|
+
/** Instance was cancelled */
|
|
9578
|
+
InstanceFinalStatus["Cancelled"] = "Cancelled";
|
|
9579
|
+
})(InstanceFinalStatus || (InstanceFinalStatus = {}));
|
|
9580
|
+
|
|
9720
9581
|
/**
|
|
9721
9582
|
* Maps fields for Process Instance entities to ensure consistent naming
|
|
9722
9583
|
*/
|
|
@@ -10092,6 +9953,177 @@ class MaestroProcessesService extends BaseService {
|
|
|
10092
9953
|
// Fetch BPMN XML and add element name/type to each incident
|
|
10093
9954
|
return BpmnHelpers.enrichIncidentsWithBpmnData(rawResponse.data || [], folderKey, this.processInstancesService);
|
|
10094
9955
|
}
|
|
9956
|
+
/**
|
|
9957
|
+
* Get the top 5 processes ranked by run count within a time range.
|
|
9958
|
+
*
|
|
9959
|
+
* Returns an array of up to 5 processes sorted by how many times they were executed,
|
|
9960
|
+
* useful for identifying the most active processes in a given period.
|
|
9961
|
+
*
|
|
9962
|
+
* @param startTime - Start of the time range to query
|
|
9963
|
+
* @param endTime - End of the time range to query
|
|
9964
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
9965
|
+
* @returns Promise resolving to an array of {@link ProcessGetTopRunCountResponse}
|
|
9966
|
+
* @example
|
|
9967
|
+
* ```typescript
|
|
9968
|
+
* import { MaestroProcesses } from '@uipath/uipath-typescript/maestro-processes';
|
|
9969
|
+
*
|
|
9970
|
+
* const maestroProcesses = new MaestroProcesses(sdk);
|
|
9971
|
+
*
|
|
9972
|
+
* // Get top processes by run count for the last 7 days
|
|
9973
|
+
* const topProcesses = await maestroProcesses.getTopRunCount(
|
|
9974
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
9975
|
+
* new Date()
|
|
9976
|
+
* );
|
|
9977
|
+
*
|
|
9978
|
+
* for (const process of topProcesses) {
|
|
9979
|
+
* console.log(`${process.packageId}: ${process.runCount} runs`);
|
|
9980
|
+
* }
|
|
9981
|
+
* ```
|
|
9982
|
+
*
|
|
9983
|
+
* @example
|
|
9984
|
+
* ```typescript
|
|
9985
|
+
* // Get top processes by run count for a specific package
|
|
9986
|
+
* const filtered = await maestroProcesses.getTopRunCount(
|
|
9987
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
9988
|
+
* new Date(),
|
|
9989
|
+
* { packageId: '<packageId>' }
|
|
9990
|
+
* );
|
|
9991
|
+
* ```
|
|
9992
|
+
*/
|
|
9993
|
+
async getTopRunCount(startTime, endTime, options) {
|
|
9994
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_BY_RUN_COUNT, buildInsightsTopBody(startTime, endTime, false, options));
|
|
9995
|
+
return (data ?? []).map(process => ({ ...process, name: process.packageId }));
|
|
9996
|
+
}
|
|
9997
|
+
/**
|
|
9998
|
+
* Get all instances status counts aggregated by date for maestro processes.
|
|
9999
|
+
*
|
|
10000
|
+
* Returns time-grouped counts of instances grouped by status (Completed, Faulted, Cancelled),
|
|
10001
|
+
* useful for rendering time-series charts. Use `groupBy` to control the time bucket size
|
|
10002
|
+
* (hour, day, or week) — defaults to day if not provided.
|
|
10003
|
+
*
|
|
10004
|
+
* @param startTime - Start of the time range to query
|
|
10005
|
+
* @param endTime - End of the time range to query
|
|
10006
|
+
* @param options - Optional settings for time bucketing granularity
|
|
10007
|
+
* @returns Promise resolving to an array of {@link InstanceStatusTimelineResponse}
|
|
10008
|
+
*
|
|
10009
|
+
* @example
|
|
10010
|
+
* ```typescript
|
|
10011
|
+
* // Get daily instance status for the last 7 days
|
|
10012
|
+
* const now = new Date();
|
|
10013
|
+
* const sevenDaysAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
|
|
10014
|
+
* const statuses = await maestroProcesses.getInstanceStatusTimeline(sevenDaysAgo, now);
|
|
10015
|
+
*
|
|
10016
|
+
* for (const entry of statuses) {
|
|
10017
|
+
* console.log(`${entry.startTime} — ${entry.status}: ${entry.count}`);
|
|
10018
|
+
* }
|
|
10019
|
+
* ```
|
|
10020
|
+
*
|
|
10021
|
+
* @example
|
|
10022
|
+
* ```typescript
|
|
10023
|
+
* import { TimeInterval } from '@uipath/uipath-typescript/maestro-processes';
|
|
10024
|
+
*
|
|
10025
|
+
* // Get hourly breakdown
|
|
10026
|
+
* const statuses = await maestroProcesses.getInstanceStatusTimeline(startTime, endTime, {
|
|
10027
|
+
* groupBy: TimeInterval.Hour,
|
|
10028
|
+
* });
|
|
10029
|
+
* ```
|
|
10030
|
+
*
|
|
10031
|
+
* @example
|
|
10032
|
+
* ```typescript
|
|
10033
|
+
* // Get all-time data (from Unix epoch to now)
|
|
10034
|
+
* const allTime = await maestroProcesses.getInstanceStatusTimeline(new Date(0), new Date());
|
|
10035
|
+
* ```
|
|
10036
|
+
*/
|
|
10037
|
+
async getInstanceStatusTimeline(startTime, endTime, options) {
|
|
10038
|
+
return fetchInstanceStatusTimeline(this.post.bind(this), startTime, endTime, false, options);
|
|
10039
|
+
}
|
|
10040
|
+
/**
|
|
10041
|
+
* Get the top 10 processes ranked by failure count within a time range.
|
|
10042
|
+
*
|
|
10043
|
+
* Returns an array of up to 10 processes sorted by how many instances faulted,
|
|
10044
|
+
* useful for identifying the most error-prone processes in a given period.
|
|
10045
|
+
*
|
|
10046
|
+
* @param startTime - Start of the time range to query
|
|
10047
|
+
* @param endTime - End of the time range to query
|
|
10048
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
10049
|
+
* @returns Promise resolving to an array of {@link ProcessGetTopFaultedCountResponse}
|
|
10050
|
+
* @example
|
|
10051
|
+
* ```typescript
|
|
10052
|
+
* import { MaestroProcesses } from '@uipath/uipath-typescript/maestro-processes';
|
|
10053
|
+
*
|
|
10054
|
+
* const maestroProcesses = new MaestroProcesses(sdk);
|
|
10055
|
+
*
|
|
10056
|
+
* // Get top processes by faulted count for the last 7 days
|
|
10057
|
+
* const topFailing = await maestroProcesses.getTopFaultedCount(
|
|
10058
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10059
|
+
* new Date()
|
|
10060
|
+
* );
|
|
10061
|
+
*
|
|
10062
|
+
* for (const process of topFailing) {
|
|
10063
|
+
* console.log(`${process.packageId}: ${process.faultedCount} failures`);
|
|
10064
|
+
* }
|
|
10065
|
+
* ```
|
|
10066
|
+
*
|
|
10067
|
+
* @example
|
|
10068
|
+
* ```typescript
|
|
10069
|
+
* // Get top processes by faulted count for a specific package
|
|
10070
|
+
* const filtered = await maestroProcesses.getTopFaultedCount(
|
|
10071
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10072
|
+
* new Date(),
|
|
10073
|
+
* { packageId: '<packageId>' }
|
|
10074
|
+
* );
|
|
10075
|
+
* ```
|
|
10076
|
+
*/
|
|
10077
|
+
async getTopFaultedCount(startTime, endTime, options) {
|
|
10078
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_WITH_FAILURE, buildInsightsTopBody(startTime, endTime, false, options));
|
|
10079
|
+
return (data ?? []).map(item => ({
|
|
10080
|
+
packageId: item.packageId,
|
|
10081
|
+
processKey: item.processKey,
|
|
10082
|
+
faultedCount: item.runCount,
|
|
10083
|
+
name: item.packageId,
|
|
10084
|
+
}));
|
|
10085
|
+
}
|
|
10086
|
+
/**
|
|
10087
|
+
* Get the top 5 processes ranked by total duration within a time range.
|
|
10088
|
+
*
|
|
10089
|
+
* Returns an array of up to 5 processes sorted by their total execution time,
|
|
10090
|
+
* useful for identifying the longest-running processes in a given period.
|
|
10091
|
+
*
|
|
10092
|
+
* @param startTime - Start of the time range to query
|
|
10093
|
+
* @param endTime - End of the time range to query
|
|
10094
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
10095
|
+
* @returns Promise resolving to an array of {@link ProcessGetTopDurationResponse}
|
|
10096
|
+
* @example
|
|
10097
|
+
* ```typescript
|
|
10098
|
+
* import { MaestroProcesses } from '@uipath/uipath-typescript/maestro-processes';
|
|
10099
|
+
*
|
|
10100
|
+
* const maestroProcesses = new MaestroProcesses(sdk);
|
|
10101
|
+
*
|
|
10102
|
+
* // Get top processes by duration for the last 7 days
|
|
10103
|
+
* const topProcesses = await maestroProcesses.getTopExecutionDuration(
|
|
10104
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10105
|
+
* new Date()
|
|
10106
|
+
* );
|
|
10107
|
+
*
|
|
10108
|
+
* for (const process of topProcesses) {
|
|
10109
|
+
* console.log(`${process.packageId}: ${process.duration}ms total`);
|
|
10110
|
+
* }
|
|
10111
|
+
* ```
|
|
10112
|
+
*
|
|
10113
|
+
* @example
|
|
10114
|
+
* ```typescript
|
|
10115
|
+
* // Get top processes by duration for a specific package
|
|
10116
|
+
* const filtered = await maestroProcesses.getTopExecutionDuration(
|
|
10117
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10118
|
+
* new Date(),
|
|
10119
|
+
* { packageId: '<packageId>' }
|
|
10120
|
+
* );
|
|
10121
|
+
* ```
|
|
10122
|
+
*/
|
|
10123
|
+
async getTopExecutionDuration(startTime, endTime, options) {
|
|
10124
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_BY_DURATION, buildInsightsTopBody(startTime, endTime, false, options));
|
|
10125
|
+
return (data ?? []).map(process => ({ ...process, name: process.packageId }));
|
|
10126
|
+
}
|
|
10095
10127
|
}
|
|
10096
10128
|
__decorate([
|
|
10097
10129
|
track('MaestroProcesses.GetAll')
|
|
@@ -10099,6 +10131,18 @@ __decorate([
|
|
|
10099
10131
|
__decorate([
|
|
10100
10132
|
track('MaestroProcesses.GetIncidents')
|
|
10101
10133
|
], MaestroProcessesService.prototype, "getIncidents", null);
|
|
10134
|
+
__decorate([
|
|
10135
|
+
track('MaestroProcesses.GetTopRunCount')
|
|
10136
|
+
], MaestroProcessesService.prototype, "getTopRunCount", null);
|
|
10137
|
+
__decorate([
|
|
10138
|
+
track('MaestroProcesses.GetInstanceStatusTimeline')
|
|
10139
|
+
], MaestroProcessesService.prototype, "getInstanceStatusTimeline", null);
|
|
10140
|
+
__decorate([
|
|
10141
|
+
track('MaestroProcesses.GetTopFaultedCount')
|
|
10142
|
+
], MaestroProcessesService.prototype, "getTopFaultedCount", null);
|
|
10143
|
+
__decorate([
|
|
10144
|
+
track('MaestroProcesses.GetTopExecutionDuration')
|
|
10145
|
+
], MaestroProcessesService.prototype, "getTopExecutionDuration", null);
|
|
10102
10146
|
|
|
10103
10147
|
/**
|
|
10104
10148
|
* Service class for Maestro Process Incidents
|
|
@@ -10183,6 +10227,177 @@ class CasesService extends BaseService {
|
|
|
10183
10227
|
name: this.extractCaseName(caseItem.packageId)
|
|
10184
10228
|
}));
|
|
10185
10229
|
}
|
|
10230
|
+
/**
|
|
10231
|
+
* Get the top 5 case processes ranked by run count within a time range.
|
|
10232
|
+
*
|
|
10233
|
+
* Returns an array of up to 5 case processes sorted by how many times they were executed,
|
|
10234
|
+
* useful for identifying the most active case processes in a given period.
|
|
10235
|
+
*
|
|
10236
|
+
* @param startTime - Start of the time range to query
|
|
10237
|
+
* @param endTime - End of the time range to query
|
|
10238
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
10239
|
+
* @returns Promise resolving to an array of {@link CaseGetTopRunCountResponse}
|
|
10240
|
+
* @example
|
|
10241
|
+
* ```typescript
|
|
10242
|
+
* import { Cases } from '@uipath/uipath-typescript/cases';
|
|
10243
|
+
*
|
|
10244
|
+
* const cases = new Cases(sdk);
|
|
10245
|
+
*
|
|
10246
|
+
* // Get top case processes by run count for the last 7 days
|
|
10247
|
+
* const topProcesses = await cases.getTopRunCount(
|
|
10248
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10249
|
+
* new Date()
|
|
10250
|
+
* );
|
|
10251
|
+
*
|
|
10252
|
+
* for (const process of topProcesses) {
|
|
10253
|
+
* console.log(`${process.packageId}: ${process.runCount} runs`);
|
|
10254
|
+
* }
|
|
10255
|
+
* ```
|
|
10256
|
+
*
|
|
10257
|
+
* @example
|
|
10258
|
+
* ```typescript
|
|
10259
|
+
* // Get top case processes by run count for a specific package
|
|
10260
|
+
* const filtered = await cases.getTopRunCount(
|
|
10261
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10262
|
+
* new Date(),
|
|
10263
|
+
* { packageId: '<packageId>' }
|
|
10264
|
+
* );
|
|
10265
|
+
* ```
|
|
10266
|
+
*/
|
|
10267
|
+
async getTopRunCount(startTime, endTime, options) {
|
|
10268
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_BY_RUN_COUNT, buildInsightsTopBody(startTime, endTime, true, options));
|
|
10269
|
+
return (data ?? []).map(process => ({ ...process, name: this.extractCaseName(process.packageId) }));
|
|
10270
|
+
}
|
|
10271
|
+
/**
|
|
10272
|
+
* Get all instances status counts aggregated by date for case management processes.
|
|
10273
|
+
*
|
|
10274
|
+
* Returns time-grouped counts of case instances grouped by status (Completed, Faulted, Cancelled),
|
|
10275
|
+
* useful for rendering time-series charts. Use `groupBy` to control the time bucket size
|
|
10276
|
+
* (hour, day, or week) — defaults to day if not provided.
|
|
10277
|
+
*
|
|
10278
|
+
* @param startTime - Start of the time range to query
|
|
10279
|
+
* @param endTime - End of the time range to query
|
|
10280
|
+
* @param options - Optional settings for time bucketing granularity
|
|
10281
|
+
* @returns Promise resolving to an array of {@link InstanceStatusTimelineResponse}
|
|
10282
|
+
*
|
|
10283
|
+
* @example
|
|
10284
|
+
* ```typescript
|
|
10285
|
+
* // Get daily instance status for the last 7 days
|
|
10286
|
+
* const now = new Date();
|
|
10287
|
+
* const sevenDaysAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
|
|
10288
|
+
* const statuses = await cases.getInstanceStatusTimeline(sevenDaysAgo, now);
|
|
10289
|
+
*
|
|
10290
|
+
* for (const entry of statuses) {
|
|
10291
|
+
* console.log(`${entry.startTime} — ${entry.status}: ${entry.count}`);
|
|
10292
|
+
* }
|
|
10293
|
+
* ```
|
|
10294
|
+
*
|
|
10295
|
+
* @example
|
|
10296
|
+
* ```typescript
|
|
10297
|
+
* import { TimeInterval } from '@uipath/uipath-typescript/cases';
|
|
10298
|
+
*
|
|
10299
|
+
* // Get weekly breakdown
|
|
10300
|
+
* const statuses = await cases.getInstanceStatusTimeline(startTime, endTime, {
|
|
10301
|
+
* groupBy: TimeInterval.Week,
|
|
10302
|
+
* });
|
|
10303
|
+
* ```
|
|
10304
|
+
*
|
|
10305
|
+
* @example
|
|
10306
|
+
* ```typescript
|
|
10307
|
+
* // Get all-time data (from Unix epoch to now)
|
|
10308
|
+
* const allTime = await cases.getInstanceStatusTimeline(new Date(0), new Date());
|
|
10309
|
+
* ```
|
|
10310
|
+
*/
|
|
10311
|
+
async getInstanceStatusTimeline(startTime, endTime, options) {
|
|
10312
|
+
return fetchInstanceStatusTimeline(this.post.bind(this), startTime, endTime, true, options);
|
|
10313
|
+
}
|
|
10314
|
+
/**
|
|
10315
|
+
* Get the top 10 case processes ranked by failure count within a time range.
|
|
10316
|
+
*
|
|
10317
|
+
* Returns an array of up to 10 case processes sorted by how many instances faulted,
|
|
10318
|
+
* useful for identifying the most error-prone case processes in a given period.
|
|
10319
|
+
*
|
|
10320
|
+
* @param startTime - Start of the time range to query
|
|
10321
|
+
* @param endTime - End of the time range to query
|
|
10322
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
10323
|
+
* @returns Promise resolving to an array of {@link CaseGetTopFaultedCountResponse}
|
|
10324
|
+
* @example
|
|
10325
|
+
* ```typescript
|
|
10326
|
+
* import { Cases } from '@uipath/uipath-typescript/cases';
|
|
10327
|
+
*
|
|
10328
|
+
* const cases = new Cases(sdk);
|
|
10329
|
+
*
|
|
10330
|
+
* // Get top case processes by faulted count for the last 7 days
|
|
10331
|
+
* const topFailing = await cases.getTopFaultedCount(
|
|
10332
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10333
|
+
* new Date()
|
|
10334
|
+
* );
|
|
10335
|
+
*
|
|
10336
|
+
* for (const process of topFailing) {
|
|
10337
|
+
* console.log(`${process.packageId}: ${process.faultedCount} failures`);
|
|
10338
|
+
* }
|
|
10339
|
+
* ```
|
|
10340
|
+
*
|
|
10341
|
+
* @example
|
|
10342
|
+
* ```typescript
|
|
10343
|
+
* // Get top case processes by faulted count for a specific package
|
|
10344
|
+
* const filtered = await cases.getTopFaultedCount(
|
|
10345
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10346
|
+
* new Date(),
|
|
10347
|
+
* { packageId: '<packageId>' }
|
|
10348
|
+
* );
|
|
10349
|
+
* ```
|
|
10350
|
+
*/
|
|
10351
|
+
async getTopFaultedCount(startTime, endTime, options) {
|
|
10352
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_WITH_FAILURE, buildInsightsTopBody(startTime, endTime, true, options));
|
|
10353
|
+
return (data ?? []).map(item => ({
|
|
10354
|
+
packageId: item.packageId,
|
|
10355
|
+
processKey: item.processKey,
|
|
10356
|
+
faultedCount: item.runCount,
|
|
10357
|
+
name: this.extractCaseName(item.packageId),
|
|
10358
|
+
}));
|
|
10359
|
+
}
|
|
10360
|
+
/**
|
|
10361
|
+
* Get the top 5 case processes ranked by total duration within a time range.
|
|
10362
|
+
*
|
|
10363
|
+
* Returns an array of up to 5 case processes sorted by their total execution time,
|
|
10364
|
+
* useful for identifying the longest-running case processes in a given period.
|
|
10365
|
+
*
|
|
10366
|
+
* @param startTime - Start of the time range to query
|
|
10367
|
+
* @param endTime - End of the time range to query
|
|
10368
|
+
* @param options - Optional filters (packageId, processKey, version)
|
|
10369
|
+
* @returns Promise resolving to an array of {@link CaseGetTopDurationResponse}
|
|
10370
|
+
* @example
|
|
10371
|
+
* ```typescript
|
|
10372
|
+
* import { Cases } from '@uipath/uipath-typescript/cases';
|
|
10373
|
+
*
|
|
10374
|
+
* const cases = new Cases(sdk);
|
|
10375
|
+
*
|
|
10376
|
+
* // Get top case processes by duration for the last 7 days
|
|
10377
|
+
* const topProcesses = await cases.getTopExecutionDuration(
|
|
10378
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10379
|
+
* new Date()
|
|
10380
|
+
* );
|
|
10381
|
+
*
|
|
10382
|
+
* for (const process of topProcesses) {
|
|
10383
|
+
* console.log(`${process.packageId}: ${process.duration}ms total`);
|
|
10384
|
+
* }
|
|
10385
|
+
* ```
|
|
10386
|
+
*
|
|
10387
|
+
* @example
|
|
10388
|
+
* ```typescript
|
|
10389
|
+
* // Get top case processes by duration for a specific package
|
|
10390
|
+
* const filtered = await cases.getTopExecutionDuration(
|
|
10391
|
+
* new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
|
|
10392
|
+
* new Date(),
|
|
10393
|
+
* { packageId: '<packageId>' }
|
|
10394
|
+
* );
|
|
10395
|
+
* ```
|
|
10396
|
+
*/
|
|
10397
|
+
async getTopExecutionDuration(startTime, endTime, options) {
|
|
10398
|
+
const { data } = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.TOP_PROCESSES_BY_DURATION, buildInsightsTopBody(startTime, endTime, true, options));
|
|
10399
|
+
return (data ?? []).map(process => ({ ...process, name: this.extractCaseName(process.packageId) }));
|
|
10400
|
+
}
|
|
10186
10401
|
/**
|
|
10187
10402
|
* Extract a readable case name from the packageId
|
|
10188
10403
|
* @param packageId - The full package identifier
|
|
@@ -10205,6 +10420,18 @@ class CasesService extends BaseService {
|
|
|
10205
10420
|
__decorate([
|
|
10206
10421
|
track('Cases.GetAll')
|
|
10207
10422
|
], CasesService.prototype, "getAll", null);
|
|
10423
|
+
__decorate([
|
|
10424
|
+
track('Cases.GetTopRunCount')
|
|
10425
|
+
], CasesService.prototype, "getTopRunCount", null);
|
|
10426
|
+
__decorate([
|
|
10427
|
+
track('Cases.GetInstanceStatusTimeline')
|
|
10428
|
+
], CasesService.prototype, "getInstanceStatusTimeline", null);
|
|
10429
|
+
__decorate([
|
|
10430
|
+
track('Cases.GetTopFaultedCount')
|
|
10431
|
+
], CasesService.prototype, "getTopFaultedCount", null);
|
|
10432
|
+
__decorate([
|
|
10433
|
+
track('Cases.GetTopExecutionDuration')
|
|
10434
|
+
], CasesService.prototype, "getTopExecutionDuration", null);
|
|
10208
10435
|
|
|
10209
10436
|
/**
|
|
10210
10437
|
* Maps fields for Case Instance entities to ensure consistent naming
|
|
@@ -11320,6 +11547,40 @@ class CaseInstancesService extends BaseService {
|
|
|
11320
11547
|
}
|
|
11321
11548
|
}, apiOptions);
|
|
11322
11549
|
}
|
|
11550
|
+
/**
|
|
11551
|
+
* Get stages SLA summary for case instances across folders.
|
|
11552
|
+
*
|
|
11553
|
+
* Returns stage-level SLA status and escalation information for each case instance, aggregated from Insights Real-Time Monitoring.
|
|
11554
|
+
*
|
|
11555
|
+
* @param options - Optional filtering options
|
|
11556
|
+
* @returns Promise resolving to an array of {@link CaseInstanceStageSLAResponse}
|
|
11557
|
+
* @example
|
|
11558
|
+
* ```typescript
|
|
11559
|
+
* // Get stages SLA summary for all case instances
|
|
11560
|
+
* const stagesSla = await caseInstances.getStagesSlaSummary();
|
|
11561
|
+
* for (const item of stagesSla) {
|
|
11562
|
+
* console.log(`Instance: ${item.caseInstanceId}`);
|
|
11563
|
+
* for (const stage of item.stages) {
|
|
11564
|
+
* console.log(` Stage: ${stage.name} - SLA Status: ${stage.slaStatus}, Due: ${stage.slaDueTime}`);
|
|
11565
|
+
* }
|
|
11566
|
+
* }
|
|
11567
|
+
*
|
|
11568
|
+
* // Filter by case instance ID
|
|
11569
|
+
* const filtered = await caseInstances.getStagesSlaSummary({
|
|
11570
|
+
* caseInstanceId: '<caseInstanceId>'
|
|
11571
|
+
* });
|
|
11572
|
+
*
|
|
11573
|
+
* // Using bound method on a case instance
|
|
11574
|
+
* const instance = await caseInstances.getById('<instanceId>', '<folderKey>');
|
|
11575
|
+
* const stagesSla = await instance.getStagesSlaSummary();
|
|
11576
|
+
* ```
|
|
11577
|
+
*/
|
|
11578
|
+
async getStagesSlaSummary(options) {
|
|
11579
|
+
const response = await this.post(MAESTRO_ENDPOINTS.INSIGHTS.STAGES_SUMMARY, {
|
|
11580
|
+
caseInstanceId: options?.caseInstanceId,
|
|
11581
|
+
});
|
|
11582
|
+
return response.data ?? [];
|
|
11583
|
+
}
|
|
11323
11584
|
}
|
|
11324
11585
|
__decorate([
|
|
11325
11586
|
track('CaseInstances.GetAll')
|
|
@@ -11351,6 +11612,9 @@ __decorate([
|
|
|
11351
11612
|
__decorate([
|
|
11352
11613
|
track('CaseInstances.GetSlaSummary')
|
|
11353
11614
|
], CaseInstancesService.prototype, "getSlaSummary", null);
|
|
11615
|
+
__decorate([
|
|
11616
|
+
track('CaseInstances.GetStagesSlaSummary')
|
|
11617
|
+
], CaseInstancesService.prototype, "getStagesSlaSummary", null);
|
|
11354
11618
|
|
|
11355
11619
|
/**
|
|
11356
11620
|
* Validates the `name` argument passed to a `getByName(name, ...)` method.
|
|
@@ -11758,6 +12022,32 @@ class BucketService extends FolderScopedService {
|
|
|
11758
12022
|
// Transform response from PascalCase to camelCase
|
|
11759
12023
|
return pascalToCamelCaseKeys(response.data);
|
|
11760
12024
|
}
|
|
12025
|
+
/**
|
|
12026
|
+
* Retrieves a single orchestrator storage bucket by name.
|
|
12027
|
+
*
|
|
12028
|
+
* @param name - Bucket name to search for
|
|
12029
|
+
* @param options - Folder scoping (`folderId` / `folderKey` / `folderPath`) and optional query parameters (`expand`, `select`)
|
|
12030
|
+
* @returns Promise resolving to a single bucket
|
|
12031
|
+
* {@link BucketGetResponse}
|
|
12032
|
+
* @example
|
|
12033
|
+
* ```typescript
|
|
12034
|
+
* import { Buckets } from '@uipath/uipath-typescript/buckets';
|
|
12035
|
+
*
|
|
12036
|
+
* const buckets = new Buckets(sdk);
|
|
12037
|
+
*
|
|
12038
|
+
* // By folder ID
|
|
12039
|
+
* await buckets.getByName('MyBucket', { folderId: <folderId> });
|
|
12040
|
+
*
|
|
12041
|
+
* // By folder key (GUID)
|
|
12042
|
+
* await buckets.getByName('MyBucket', { folderKey: '<folderKey>' });
|
|
12043
|
+
*
|
|
12044
|
+
* // By folder path
|
|
12045
|
+
* await buckets.getByName('MyBucket', { folderPath: '<folderPath>' });
|
|
12046
|
+
* ```
|
|
12047
|
+
*/
|
|
12048
|
+
async getByName(name, options = {}) {
|
|
12049
|
+
return this.getByNameLookup('Bucket', BUCKET_ENDPOINTS.GET_BY_FOLDER, name, options, (raw) => pascalToCamelCaseKeys(raw));
|
|
12050
|
+
}
|
|
11761
12051
|
/**
|
|
11762
12052
|
* Gets all buckets across folders with optional filtering and folder scoping
|
|
11763
12053
|
*
|
|
@@ -12047,6 +12337,9 @@ class BucketService extends FolderScopedService {
|
|
|
12047
12337
|
__decorate([
|
|
12048
12338
|
track('Buckets.GetById')
|
|
12049
12339
|
], BucketService.prototype, "getById", null);
|
|
12340
|
+
__decorate([
|
|
12341
|
+
track('Buckets.GetByName')
|
|
12342
|
+
], BucketService.prototype, "getByName", null);
|
|
12050
12343
|
__decorate([
|
|
12051
12344
|
track('Buckets.GetAll')
|
|
12052
12345
|
], BucketService.prototype, "getAll", null);
|
|
@@ -13224,6 +13517,17 @@ const ConversationMap = {
|
|
|
13224
13517
|
lastActivityAt: 'lastActivityTime',
|
|
13225
13518
|
agentReleaseId: 'agentId'
|
|
13226
13519
|
};
|
|
13520
|
+
/**
|
|
13521
|
+
* Maps API filter param names (left) to SDK-facing names (right) for the conversation list endpoint.
|
|
13522
|
+
* Used by `getAll` to translate SDK filters to the field names the backend expects. Kept separate
|
|
13523
|
+
* from `ConversationMap` because `label`/`search` would otherwise collide with the `label` field
|
|
13524
|
+
* on create/update payloads.
|
|
13525
|
+
*/
|
|
13526
|
+
const ConversationGetAllFilterMap = {
|
|
13527
|
+
agentReleaseKey: 'agentKey',
|
|
13528
|
+
agentReleaseId: 'agentId',
|
|
13529
|
+
search: 'label'
|
|
13530
|
+
};
|
|
13227
13531
|
/**
|
|
13228
13532
|
* Maps fields for Exchange entity to ensure consistent SDK naming
|
|
13229
13533
|
*/
|
|
@@ -13583,8 +13887,8 @@ var WordGroupType;
|
|
|
13583
13887
|
// Auto-generated from the OpenAPI spec — do not edit manually.
|
|
13584
13888
|
var ModelKind;
|
|
13585
13889
|
(function (ModelKind) {
|
|
13586
|
-
ModelKind["Classifier"] = "Classifier";
|
|
13587
13890
|
ModelKind["Extractor"] = "Extractor";
|
|
13891
|
+
ModelKind["Classifier"] = "Classifier";
|
|
13588
13892
|
})(ModelKind || (ModelKind = {}));
|
|
13589
13893
|
var ModelType;
|
|
13590
13894
|
(function (ModelType) {
|
|
@@ -13593,6 +13897,14 @@ var ModelType;
|
|
|
13593
13897
|
ModelType["Predefined"] = "Predefined";
|
|
13594
13898
|
})(ModelType || (ModelType = {}));
|
|
13595
13899
|
|
|
13900
|
+
// Auto-generated from the OpenAPI spec — do not edit manually.
|
|
13901
|
+
var ErrorSeverity;
|
|
13902
|
+
(function (ErrorSeverity) {
|
|
13903
|
+
ErrorSeverity["Info"] = "Info";
|
|
13904
|
+
ErrorSeverity["Warning"] = "Warning";
|
|
13905
|
+
ErrorSeverity["Error"] = "Error";
|
|
13906
|
+
})(ErrorSeverity || (ErrorSeverity = {}));
|
|
13907
|
+
|
|
13596
13908
|
// Auto-generated from the OpenAPI spec — do not edit manually.
|
|
13597
13909
|
var ClassifierDocumentTypeType;
|
|
13598
13910
|
(function (ClassifierDocumentTypeType) {
|
|
@@ -13617,6 +13929,13 @@ var GptFieldType;
|
|
|
13617
13929
|
GptFieldType["Number"] = "Number";
|
|
13618
13930
|
GptFieldType["Text"] = "Text";
|
|
13619
13931
|
})(GptFieldType || (GptFieldType = {}));
|
|
13932
|
+
var JobStatus;
|
|
13933
|
+
(function (JobStatus) {
|
|
13934
|
+
JobStatus["Succeeded"] = "Succeeded";
|
|
13935
|
+
JobStatus["Failed"] = "Failed";
|
|
13936
|
+
JobStatus["Running"] = "Running";
|
|
13937
|
+
JobStatus["NotStarted"] = "NotStarted";
|
|
13938
|
+
})(JobStatus || (JobStatus = {}));
|
|
13620
13939
|
var ValidationDisplayMode;
|
|
13621
13940
|
(function (ValidationDisplayMode) {
|
|
13622
13941
|
ValidationDisplayMode["Classic"] = "Classic";
|
|
@@ -13703,8 +14022,10 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
13703
14022
|
get DocumentActionPriority () { return DocumentActionPriority; },
|
|
13704
14023
|
get DocumentActionStatus () { return DocumentActionStatus; },
|
|
13705
14024
|
get DocumentActionType () { return DocumentActionType; },
|
|
14025
|
+
get ErrorSeverity () { return ErrorSeverity; },
|
|
13706
14026
|
get FieldType () { return FieldType; },
|
|
13707
14027
|
get GptFieldType () { return GptFieldType; },
|
|
14028
|
+
get JobStatus () { return JobStatus; },
|
|
13708
14029
|
get LogicalOperator () { return LogicalOperator; },
|
|
13709
14030
|
get MarkupType () { return MarkupType; },
|
|
13710
14031
|
get ModelKind () { return ModelKind; },
|
|
@@ -13798,4 +14119,4 @@ function getAppBase() {
|
|
|
13798
14119
|
return getMetaTagContent(UiPathMetaTags.APP_BASE) || '/';
|
|
13799
14120
|
}
|
|
13800
14121
|
|
|
13801
|
-
export {
|
|
14122
|
+
export { AgentMap, AssetValueScope, AssetValueType, AuthenticationError, AuthorizationError, BucketOptions, CitationErrorType, ConversationGetAllFilterMap, ConversationMap, DEFAULT_ITEMS_FIELD, DEFAULT_PAGE_SIZE, DEFAULT_TOTAL_COUNT_FIELD, DataDirectionType, DebugMode, index as DuFramework, EntityAggregateFunction, EntityFieldDataType, EntityType, ErrorType, EscalationActionType, EscalationRecipientScope, EscalationTriggerType, ExchangeMap, FeedbackRating, FeedbackStatus, FieldDisplayType, HttpStatus, InputStreamSpeechSensitivity, InstanceFinalStatus, InstanceStatus, InterruptType, JobPriority, JobSourceType, JobState, JobSubState, JobType, JoinType, LogicalOperator$1 as LogicalOperator, MAX_PAGE_SIZE, MessageMap, MessageRole, NetworkError, NotFoundError, PackageSourceType, PackageType, ProcessIncidentSeverity, ProcessIncidentStatus, ProcessIncidentType, QueryFilterOperator, RateLimitError, ReferenceType, RemoteControlAccess, RobotSize, RuntimeType, SLADurationUnit, ServerError, ServerlessJobType, SlaSummaryStatus, SortOrder, StageTaskType, StartStrategy, StopStrategy, TargetFramework, TaskActivityType, TaskPriority, TaskSlaCriteria, TaskSlaStatus, TaskSourceName, TaskStatus, TaskType, TaskUserType, TimeInterval, UiPath, UiPathError, UiPathMetaTags, UserSettingsMap, 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 };
|