@uipath/maestro-sdk 1.0.4 → 1.195.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bpmn-validation/project-validator.js +3866 -0
- package/dist/index.js +33882 -21149
- package/dist/manifest/bpmn-spec.js +53 -41
- package/dist/src/bpmn-validation/project-validator.d.ts +64 -0
- package/dist/src/client.d.ts +20 -0
- package/dist/src/debug-service.d.ts +63 -1
- package/dist/src/debug-types.d.ts +14 -0
- package/dist/src/flags/manifest-flags.d.ts +1 -0
- package/dist/src/index.d.ts +5 -3
- package/dist/src/manifest/types.d.ts +2 -0
- package/dist/src/query-string.d.ts +2 -1
- package/dist/src/registry/filter-engine.d.ts +3 -3
- package/dist/src/registry/index.d.ts +4 -3
- package/dist/src/registry/integration-service-fetcher.d.ts +1 -1
- package/dist/src/registry/known-types.d.ts +17 -0
- package/dist/src/registry/node-storage.d.ts +31 -3
- package/dist/src/registry/node-sync-service.d.ts +6 -0
- package/dist/src/registry/solution-discovery.d.ts +12 -0
- package/dist/src/shared-commands/instances.d.ts +2 -0
- package/dist/src/with-pims-call.d.ts +37 -1
- package/package.json +41 -52
|
@@ -57,6 +57,32 @@ var bpmn_spec_default = {
|
|
|
57
57
|
designSchemaJsonDir: "src/services/serialization/design-schema/*.design-schema.json"
|
|
58
58
|
},
|
|
59
59
|
extensionTypes: {
|
|
60
|
+
"uipath:Activity": {
|
|
61
|
+
extensionType: "uipath:Activity",
|
|
62
|
+
label: "Canvas activity",
|
|
63
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
64
|
+
placements: {
|
|
65
|
+
serviceTask: {
|
|
66
|
+
type: "bpmn:ServiceTask"
|
|
67
|
+
},
|
|
68
|
+
task: {
|
|
69
|
+
type: "bpmn:Task"
|
|
70
|
+
},
|
|
71
|
+
boundaryEvent: {
|
|
72
|
+
type: "bpmn:BoundaryEvent"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
extensionTag: "uipath:activity",
|
|
76
|
+
contextFields: [],
|
|
77
|
+
inputPattern: "none",
|
|
78
|
+
outputSource: null,
|
|
79
|
+
outputType: null,
|
|
80
|
+
bindingPattern: "none",
|
|
81
|
+
requiresDiscovery: false,
|
|
82
|
+
isDynamic: true,
|
|
83
|
+
xmlTemplate: null,
|
|
84
|
+
outputNotes: "Studio Web canvas can emit custom output-only activity payloads for placeholder tasks and error boundary metadata."
|
|
85
|
+
},
|
|
60
86
|
"Actions.HITL": {
|
|
61
87
|
extensionType: "Actions.HITL",
|
|
62
88
|
label: "Create action app task",
|
|
@@ -246,46 +272,33 @@ var bpmn_spec_default = {
|
|
|
246
272
|
extensionTag: "uipath:activity",
|
|
247
273
|
contextFields: [
|
|
248
274
|
{
|
|
249
|
-
name: "
|
|
250
|
-
displayName: "
|
|
275
|
+
name: "name",
|
|
276
|
+
displayName: "Agent",
|
|
251
277
|
type: "string",
|
|
252
|
-
required:
|
|
278
|
+
required: true,
|
|
253
279
|
hidden: true,
|
|
254
280
|
isPrimaryKey: false,
|
|
255
|
-
binding:
|
|
281
|
+
binding: true,
|
|
256
282
|
defaultValue: null,
|
|
257
283
|
bindingInfo: {
|
|
258
284
|
resource: "process",
|
|
259
285
|
resourceKeyPattern: "${metadata.key}",
|
|
260
|
-
propertyAttribute: "
|
|
286
|
+
propertyAttribute: "name"
|
|
261
287
|
}
|
|
262
288
|
},
|
|
263
|
-
{
|
|
264
|
-
name: "folderId",
|
|
265
|
-
type: "string",
|
|
266
|
-
required: false,
|
|
267
|
-
hidden: true,
|
|
268
|
-
isPrimaryKey: false,
|
|
269
|
-
binding: false,
|
|
270
|
-
defaultValue: null
|
|
271
|
-
},
|
|
272
289
|
{
|
|
273
290
|
name: "folderPath",
|
|
274
291
|
type: "string",
|
|
275
|
-
required:
|
|
276
|
-
hidden: true,
|
|
277
|
-
isPrimaryKey: false,
|
|
278
|
-
binding: false,
|
|
279
|
-
defaultValue: null
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
name: "name",
|
|
283
|
-
type: "string",
|
|
284
|
-
required: false,
|
|
292
|
+
required: true,
|
|
285
293
|
hidden: true,
|
|
286
294
|
isPrimaryKey: false,
|
|
287
|
-
binding:
|
|
288
|
-
defaultValue: null
|
|
295
|
+
binding: true,
|
|
296
|
+
defaultValue: null,
|
|
297
|
+
bindingInfo: {
|
|
298
|
+
resource: "process",
|
|
299
|
+
resourceKeyPattern: "${metadata.key}",
|
|
300
|
+
propertyAttribute: "folderPath"
|
|
301
|
+
}
|
|
289
302
|
}
|
|
290
303
|
],
|
|
291
304
|
inputPattern: "mergedBody",
|
|
@@ -299,25 +312,20 @@ var bpmn_spec_default = {
|
|
|
299
312
|
bindingInfo: {
|
|
300
313
|
resource: "process",
|
|
301
314
|
resourceKeyPattern: "${metadata.key}",
|
|
302
|
-
propertyAttribute: "
|
|
303
|
-
contextField: "
|
|
315
|
+
propertyAttribute: "name",
|
|
316
|
+
contextField: "name"
|
|
304
317
|
},
|
|
305
318
|
requiresDiscovery: true,
|
|
306
319
|
isDynamic: true,
|
|
307
320
|
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
308
|
-
<
|
|
309
|
-
<uipath:
|
|
310
|
-
<uipath:
|
|
311
|
-
<uipath:
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
</uipath:context>
|
|
317
|
-
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
318
|
-
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
319
|
-
</uipath:activity>
|
|
320
|
-
</bpmn:extensionElements>
|
|
321
|
+
<uipath:activity type="Orchestrator.StartAgentJob" version="v1">
|
|
322
|
+
<uipath:context>
|
|
323
|
+
<uipath:input name="name" value="=bindings.{nameBindingId}" />
|
|
324
|
+
<uipath:input name="folderPath" value="=bindings.{folderPathBindingId}" />
|
|
325
|
+
</uipath:context>
|
|
326
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
327
|
+
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
328
|
+
</uipath:activity>
|
|
321
329
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
322
330
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
323
331
|
</bpmn:ServiceTask>`,
|
|
@@ -2961,10 +2969,14 @@ var STATIC_UIPATH_EXTENSION_TAG_NAMES = [
|
|
|
2961
2969
|
"caseManagement",
|
|
2962
2970
|
"context",
|
|
2963
2971
|
"entryPointId",
|
|
2972
|
+
"error",
|
|
2973
|
+
"errorDefinition",
|
|
2974
|
+
"errorMapping",
|
|
2964
2975
|
"input",
|
|
2965
2976
|
"inputOutput",
|
|
2966
2977
|
"inputSchema",
|
|
2967
2978
|
"intsvcActivityConfig",
|
|
2979
|
+
"isTransactionRoot",
|
|
2968
2980
|
"loopCharacteristics",
|
|
2969
2981
|
"migrationVersion",
|
|
2970
2982
|
"output",
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface BpmnValidationFileSystem {
|
|
2
|
+
readdir(path: string): Promise<string[]>;
|
|
3
|
+
readFile(path: string): Promise<Uint8Array | null>;
|
|
4
|
+
exists(path: string): Promise<boolean>;
|
|
5
|
+
joinPath(...segments: string[]): string;
|
|
6
|
+
}
|
|
7
|
+
export interface BpmnValidationDiagnostic {
|
|
8
|
+
file: string;
|
|
9
|
+
element?: string;
|
|
10
|
+
message: string;
|
|
11
|
+
instruction: string;
|
|
12
|
+
severity?: "error" | "warning";
|
|
13
|
+
}
|
|
14
|
+
export interface BpmnFileValidationContext {
|
|
15
|
+
projectPath: string;
|
|
16
|
+
file: string;
|
|
17
|
+
xml: string;
|
|
18
|
+
fileSystem: BpmnValidationFileSystem;
|
|
19
|
+
}
|
|
20
|
+
export interface BpmnProjectValidationContext {
|
|
21
|
+
projectPath: string;
|
|
22
|
+
bpmnFiles: readonly string[];
|
|
23
|
+
fileSystem: BpmnValidationFileSystem;
|
|
24
|
+
}
|
|
25
|
+
export interface BpmnFileValidator {
|
|
26
|
+
name: string;
|
|
27
|
+
validate(context: BpmnFileValidationContext): BpmnValidationDiagnostic[] | Promise<BpmnValidationDiagnostic[]>;
|
|
28
|
+
}
|
|
29
|
+
export interface BpmnProjectValidator {
|
|
30
|
+
name: string;
|
|
31
|
+
validate(context: BpmnProjectValidationContext): BpmnValidationDiagnostic[] | Promise<BpmnValidationDiagnostic[]>;
|
|
32
|
+
}
|
|
33
|
+
export interface BpmnValidateServiceOptions {
|
|
34
|
+
fileValidators?: readonly BpmnFileValidator[];
|
|
35
|
+
projectValidators?: readonly BpmnProjectValidator[];
|
|
36
|
+
}
|
|
37
|
+
export interface BpmnValidationResult {
|
|
38
|
+
isValid: boolean;
|
|
39
|
+
errorCode?: string;
|
|
40
|
+
diagnostics: BpmnValidationDiagnostic[];
|
|
41
|
+
message?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare class BpmnValidateService {
|
|
44
|
+
private readonly fileSystem;
|
|
45
|
+
private readonly options;
|
|
46
|
+
constructor(fileSystem: BpmnValidationFileSystem, options?: BpmnValidateServiceOptions);
|
|
47
|
+
validateProject(projectPath: string): Promise<BpmnValidationResult>;
|
|
48
|
+
private validateBpmnFile;
|
|
49
|
+
private validateUiPathTags;
|
|
50
|
+
private validatePayload;
|
|
51
|
+
private validateContractPlacement;
|
|
52
|
+
private validateContext;
|
|
53
|
+
private validateInputs;
|
|
54
|
+
private validateDynamicDirectInputs;
|
|
55
|
+
private validateVariableMappingInputs;
|
|
56
|
+
private validateOutput;
|
|
57
|
+
private validateBindingReferences;
|
|
58
|
+
private validateStartAgentJobBindings;
|
|
59
|
+
private loadBindings;
|
|
60
|
+
private runFileValidators;
|
|
61
|
+
private runProjectValidators;
|
|
62
|
+
private createFailure;
|
|
63
|
+
private createWarningMessage;
|
|
64
|
+
}
|
package/dist/src/client.d.ts
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
import type { PimsApiConfig, PimsRequestOptions } from "./types";
|
|
2
|
+
export declare class PimsApiError extends Error {
|
|
3
|
+
readonly method: string;
|
|
4
|
+
readonly endpoint: string;
|
|
5
|
+
readonly url: string;
|
|
6
|
+
readonly httpStatus: number;
|
|
7
|
+
readonly statusText: string;
|
|
8
|
+
readonly body: string;
|
|
9
|
+
readonly parsedErrorMessage?: string;
|
|
10
|
+
readonly parsedErrorCode?: string;
|
|
11
|
+
readonly parsedTraceId?: string;
|
|
12
|
+
readonly parsedRequestId?: string;
|
|
13
|
+
constructor(details: {
|
|
14
|
+
method: string;
|
|
15
|
+
endpoint: string;
|
|
16
|
+
url: string;
|
|
17
|
+
httpStatus: number;
|
|
18
|
+
statusText: string;
|
|
19
|
+
body: string;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
2
22
|
export declare function pimsGet<T>(config: PimsApiConfig, path: string, options?: PimsRequestOptions): Promise<T>;
|
|
3
23
|
export declare function pimsPost<T>(config: PimsApiConfig, path: string, body?: unknown, options?: PimsRequestOptions): Promise<T>;
|
|
4
24
|
export declare function pimsPut<T>(config: PimsApiConfig, path: string, body?: unknown, options?: PimsRequestOptions): Promise<T>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides common methods used by flow-tool, case-tool, and maestro-tool.
|
|
4
4
|
*/
|
|
5
5
|
import type { IFileSystem } from "@uipath/filesystem";
|
|
6
|
-
import type { BeginSessionResponse, DebugCallbacks, DebugInstanceResponse, DebugInstanceStatusResponse, DebugResult, InlineAgentDescriptor, OrchestratorApiConfig } from "./debug-types";
|
|
6
|
+
import type { BeginSessionResponse, DebugCallbacks, DebugIncidentResponse, DebugInstanceResponse, DebugInstanceStatusResponse, DebugResult, InlineAgentDescriptor, OrchestratorApiConfig, StudioWebDebugConfig } from "./debug-types";
|
|
7
7
|
/**
|
|
8
8
|
* Thrown by {@link injectInlineAgentProcessEntries} when `FpsProperties`
|
|
9
9
|
* is not valid JSON and inline agents need to be injected.
|
|
@@ -51,6 +51,40 @@ export interface PersonalFolderInfo {
|
|
|
51
51
|
* Returns key, id, display name, fully qualified name, and parent key.
|
|
52
52
|
*/
|
|
53
53
|
export declare function getPersonalFolderInfo(config: OrchestratorApiConfig): Promise<PersonalFolderInfo>;
|
|
54
|
+
export interface PrepareForCustomDebugParams {
|
|
55
|
+
config: StudioWebDebugConfig;
|
|
56
|
+
solutionId: string;
|
|
57
|
+
projectId: string;
|
|
58
|
+
solutionName: string;
|
|
59
|
+
folderKey: string;
|
|
60
|
+
sessionId?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface PrepareForCustomDebugResponse {
|
|
63
|
+
solutionDebugId: string;
|
|
64
|
+
projectDebugId: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Prepare Studio Web debug IDs for a local workspace project.
|
|
68
|
+
*
|
|
69
|
+
* This mirrors Studio Web's injected Debug service
|
|
70
|
+
* `prepareForCustomDebug(projectId)`: it asks Studio Web Resource Builder to
|
|
71
|
+
* provision a cloud-backed debug solution/project and returns the IDs PIMS
|
|
72
|
+
* must use for execution.
|
|
73
|
+
*/
|
|
74
|
+
export declare function prepareForCustomDebug(params: PrepareForCustomDebugParams): Promise<PrepareForCustomDebugResponse>;
|
|
75
|
+
/**
|
|
76
|
+
* Fetch folder info for a specific Orchestrator folder by numeric Id.
|
|
77
|
+
*
|
|
78
|
+
* Use when the caller already knows which folder to target (e.g. `--folder-id`
|
|
79
|
+
* was passed explicitly) and personal-workspace discovery is undesirable
|
|
80
|
+
* — service-principal / CI contexts often have `Folders.Read.PersonalWorkspace`
|
|
81
|
+
* denied while still permitting access to the specific folder being targeted.
|
|
82
|
+
*
|
|
83
|
+
* Hits `GET /odata/Folders({id})`, which returns a single FolderDto. The
|
|
84
|
+
* shape returned to callers matches {@link PersonalFolderInfo} so downstream
|
|
85
|
+
* connection patching / debug-instance creation does not branch on source.
|
|
86
|
+
*/
|
|
87
|
+
export declare function getFolderInfoById(config: OrchestratorApiConfig, folderId: number): Promise<PersonalFolderInfo>;
|
|
54
88
|
export interface BeginDebugSessionOptions {
|
|
55
89
|
/** Inline agents to register with the debug session via FpsProperties. */
|
|
56
90
|
inlineAgents?: InlineAgentDescriptor[];
|
|
@@ -83,6 +117,34 @@ export declare function createDebugInstance(config: OrchestratorApiConfig, jobKe
|
|
|
83
117
|
* Poll PIMS debug instance element-executions until terminal status.
|
|
84
118
|
*/
|
|
85
119
|
export declare function pollDebugInstanceStatus(config: OrchestratorApiConfig, instanceId: string, callbacks?: DebugCallbacks, pollInterval?: number, maxPolls?: number, jobKey?: string): Promise<DebugInstanceStatusResponse>;
|
|
120
|
+
/**
|
|
121
|
+
* Fetch the incident list PIMS recorded against a finished debug instance.
|
|
122
|
+
*
|
|
123
|
+
* Mirrors the `uip <product> debug-instance incidents <id>` command but exposes
|
|
124
|
+
* the raw array so the debug lifecycle can inline it onto {@link DebugResult}.
|
|
125
|
+
* Returns an empty array if the backend reports no incidents.
|
|
126
|
+
*/
|
|
127
|
+
export declare function fetchDebugInstanceIncidents(config: OrchestratorApiConfig, instanceId: string): Promise<DebugIncidentResponse[]>;
|
|
128
|
+
/**
|
|
129
|
+
* True when a poll-loop terminal status should pull incidents inline so the
|
|
130
|
+
* caller can surface them without a follow-up command.
|
|
131
|
+
*/
|
|
132
|
+
export declare function isFaultedDebugStatus(status: string): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* True when a terminal debug status means the run succeeded. Callers should use
|
|
135
|
+
* this (rather than hand-comparing against "Completed"/"Successful") so the
|
|
136
|
+
* success / fault partition stays defined in exactly one place.
|
|
137
|
+
*/
|
|
138
|
+
export declare function isSuccessfulDebugStatus(status: string): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Best-effort incident lookup for a finished debug run. Returns the incident
|
|
141
|
+
* array only when the run reached a terminal-fault status AND PIMS recorded at
|
|
142
|
+
* least one incident; returns `undefined` otherwise.
|
|
143
|
+
*
|
|
144
|
+
* A fetch failure (404 / permission glitch) is logged and swallowed so it can
|
|
145
|
+
* never mask the original debug result — the incident detail is informational.
|
|
146
|
+
*/
|
|
147
|
+
export declare function resolveFaultIncidents(config: OrchestratorApiConfig, instanceId: string, status: string): Promise<DebugIncidentResponse[] | undefined>;
|
|
86
148
|
/**
|
|
87
149
|
* Parameters for the shared upload-and-debug lifecycle.
|
|
88
150
|
* Callers are responsible for building the .uis package and resolving
|
|
@@ -19,6 +19,19 @@ export interface StudioWebDebugConfig {
|
|
|
19
19
|
authToken: string;
|
|
20
20
|
organizationUnitId?: number;
|
|
21
21
|
organizationName: string;
|
|
22
|
+
/**
|
|
23
|
+
* Set when the caller has *explicitly* selected a folder (e.g. `uip maestro
|
|
24
|
+
* flow debug --folder-id 123`) and the personal-workspace discovery path
|
|
25
|
+
* should be skipped.
|
|
26
|
+
*
|
|
27
|
+
* Default discovery hits `GET /api/Folders/GetAllForCurrentUser` to find
|
|
28
|
+
* the user's personal workspace. That endpoint requires
|
|
29
|
+
* `Folders.Read.PersonalWorkspace`, which service-principal / CI tokens
|
|
30
|
+
* routinely lack — returning HTTP 403 and blocking debug entirely. When
|
|
31
|
+
* this field is set, the folder is fetched by ID via `/odata/Folders({id})`,
|
|
32
|
+
* which only requires read access to the specific folder being targeted.
|
|
33
|
+
*/
|
|
34
|
+
userProvidedFolderId?: number;
|
|
22
35
|
}
|
|
23
36
|
export interface BeginSessionResponse {
|
|
24
37
|
vncTunnelUri: string | null;
|
|
@@ -68,6 +81,7 @@ export interface DebugResult {
|
|
|
68
81
|
solutionId?: string;
|
|
69
82
|
studioWebUrl?: string;
|
|
70
83
|
variables?: DebugVariablesResponse;
|
|
84
|
+
incidents?: DebugIncidentResponse[];
|
|
71
85
|
}
|
|
72
86
|
export interface DebugVariablesResponse {
|
|
73
87
|
instanceId: string;
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
export declare const FLAG_CONNECTOR_NODES = "canvas.mfe.dap-component";
|
|
3
3
|
export declare const FLAG_EXTRACT_DOCUMENT = "canvas.nodes.extract-document";
|
|
4
4
|
export declare const FLAG_HITL = "canvas.nodes.hitl";
|
|
5
|
+
export declare const FLAG_LOOP_CONTAINER = "canvas.nodes.loop-container";
|
|
5
6
|
/** Returns a `getFeatureFlag` callback that enables the given flags. */
|
|
6
7
|
export declare function buildFeatureFlagResolver(flags: readonly string[]): (flag: string) => boolean;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
export type { BpmnFileValidationContext, BpmnFileValidator, BpmnProjectValidationContext, BpmnProjectValidator, BpmnValidateServiceOptions, BpmnValidationDiagnostic, BpmnValidationFileSystem, BpmnValidationResult, } from "./bpmn-validation/project-validator";
|
|
2
|
+
export { BpmnValidateService } from "./bpmn-validation/project-validator";
|
|
1
3
|
export { pimsGet, pimsPatch, pimsPost, pimsPut } from "./client";
|
|
2
4
|
export { createPimsConfig } from "./client-factory";
|
|
3
5
|
export type { DebugApiService, MaestroHttpErrorDetails, } from "./debug-http-client";
|
|
4
6
|
export { debugPimsGet, debugPimsPatch, debugPimsPost, debugPimsPut, MaestroHttpError, orchestratorGet, orchestratorPost, parseBackendErrorBody, studioWebDelete, studioWebPost, } from "./debug-http-client";
|
|
5
|
-
export type { BeginDebugSessionOptions, PersonalFolderInfo, UploadAndDebugParams, } from "./debug-service";
|
|
6
|
-
export { beginDebugSession, createDebugInstance, extractStartEventId, FpsPropertiesInjectionError, getPersonalFolderInfo, getPersonalFolderKey, injectInlineAgentProcessEntries, patchConnectionOverwrites, pollDebugInstanceStatus, uploadAndDebugSolution, } from "./debug-service";
|
|
7
|
+
export type { BeginDebugSessionOptions, PersonalFolderInfo, PrepareForCustomDebugParams, PrepareForCustomDebugResponse, UploadAndDebugParams, } from "./debug-service";
|
|
8
|
+
export { beginDebugSession, createDebugInstance, extractStartEventId, FpsPropertiesInjectionError, fetchDebugInstanceIncidents, getFolderInfoById, getPersonalFolderInfo, getPersonalFolderKey, injectInlineAgentProcessEntries, isFaultedDebugStatus, isSuccessfulDebugStatus, patchConnectionOverwrites, pollDebugInstanceStatus, prepareForCustomDebug, resolveFaultIncidents, uploadAndDebugSolution, } from "./debug-service";
|
|
7
9
|
export type { BeginSessionResponse, BreakpointUpdateRequest, ContinueOnBreakpointRequest, DebugCallbacks, DebugGetAllVariablesResponse, DebugGetVariablesResponse, DebugIncidentResponse, DebugInstanceResponse, DebugInstanceStatusResponse, DebugInstanceStatusResult, DebugResult, DebugVariablesResponse, ElementExecution, InlineAgentDescriptor, OrchestratorApiConfig, PatchVariablesRequest, StudioWebDebugConfig, } from "./debug-types";
|
|
8
10
|
export { parseJsonInputOrFile, readJsonFile, resolveJsonInput, } from "./json-input";
|
|
9
11
|
export { BPMN_SPEC, SUPPORTED_UIPATH_EXTENSION_TAG_NAMES, SUPPORTED_UIPATH_EXTENSION_TAGS, } from "./manifest/bpmn-spec";
|
|
10
12
|
export type { BpmnExtensionType, DiscoveredConnector, DiscoveredProcess, MaestroRegistry, RegistryMetadata, } from "./manifest/types";
|
|
11
13
|
export { buildQueryString } from "./query-string";
|
|
12
14
|
export type { CompactField, ConnectorInfo, ConnectorMethodInfo, ContextEntry, FieldReference, FilterCondition, FilterField, FilterOperator, ISField, ISFieldMethod, ISMetadata, ISMetadataParam, ParsedFilters, SyncMetadata, TriggerField, TriggerFieldEvent, TriggerObjectMetadata, } from "./registry/index.js";
|
|
13
|
-
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, enrichConnectorNode, extractActivityFilterFields, extractMultipartParameters, extractTriggerEventParameters, extractTriggerFilterFields, FilterParseError, fetchConnectionInfo, fetchConnectorMetadata, fetchConnectorTriggerMetadata, filterNodes, getConnectorConfiguration, getConnectorInfo, getNode, getNodeEnriched, hashContent, isConnectorNode, isConnectorTriggerNode, listNodes, loadIndexMetadata, loadNodeIndex, MANAGED_HTTP_CONNECTOR_KEY, parseFilterString, pullNodes, pullRemoteNodes, registerRegistryCommand, resolveNodeStorageDir, saveIndexMetadata, saveNodeIndex, searchNodes, searchNodesWithFilters, searchWithFilters, } from "./registry/index.js";
|
|
15
|
+
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, enrichConnectorNode, extractActivityFilterFields, extractMultipartParameters, extractTriggerEventParameters, extractTriggerFilterFields, FilterParseError, fetchConnectionInfo, fetchConnectorMetadata, fetchConnectorTriggerMetadata, filterNodes, getConnectorConfiguration, getConnectorInfo, getNode, getNodeEnriched, hashContent, inlineMultipartFileValues, isConnectorNode, isConnectorTriggerNode, isKnownSdkNodeType, listKnownSdkNodes, listNodes, loadIndexMetadata, loadNodeIndex, MANAGED_HTTP_CONNECTOR_KEY, parseFilterString, pullNodes, pullRemoteNodes, registerRegistryCommand, resolveNodeStorageDir, saveIndexMetadata, saveNodeIndex, searchNodes, searchNodesWithFilters, searchWithFilters, } from "./registry/index.js";
|
|
14
16
|
export { getEnrichedActivityMetadata, getExtensionType, getRegistry, pullRegistry, searchRegistry, } from "./registry/registry-service";
|
|
15
17
|
export { CACHE_EXPIRATION_MS, loadRegistry, loadRegistryMetadata, saveRegistry, } from "./registry/storage";
|
|
16
18
|
export type { DebugInstanceCommandsConfig } from "./shared-commands/debug-instances";
|
|
@@ -106,9 +106,11 @@ export interface DiscoveredProcess {
|
|
|
106
106
|
key: string;
|
|
107
107
|
name: string;
|
|
108
108
|
processKey: string;
|
|
109
|
+
processVersion?: string;
|
|
109
110
|
type: string;
|
|
110
111
|
folder: string;
|
|
111
112
|
folderKey: string;
|
|
113
|
+
feedId?: string;
|
|
112
114
|
}
|
|
113
115
|
/** The complete cached registry object. */
|
|
114
116
|
export interface MaestroRegistry {
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type QueryValue = string | number | undefined | string[];
|
|
2
|
+
export declare function buildQueryString(params: Record<string, QueryValue>): string;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SearchableNode } from "./node-storage.js";
|
|
2
2
|
import type { ParsedFilters } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* Filter nodes based on provided filter conditions
|
|
5
5
|
*/
|
|
6
|
-
export declare function filterNodes(nodes:
|
|
6
|
+
export declare function filterNodes<T extends SearchableNode>(nodes: T[], parsedFilters: ParsedFilters): T[];
|
|
7
7
|
/**
|
|
8
8
|
* Advanced search with filters and keyword
|
|
9
9
|
* Combines filter conditions with keyword search
|
|
10
10
|
*/
|
|
11
|
-
export declare function searchWithFilters(nodes:
|
|
11
|
+
export declare function searchWithFilters<T extends SearchableNode>(nodes: T[], keyword?: string, filters?: ParsedFilters): T[];
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { buildFeatureFlagResolver, FLAG_CONNECTOR_NODES, FLAG_EXTRACT_DOCUMENT, } from "../flags/manifest-flags.js";
|
|
1
|
+
export { buildFeatureFlagResolver, FLAG_CONNECTOR_NODES, FLAG_EXTRACT_DOCUMENT, FLAG_HITL, FLAG_LOOP_CONTAINER, } from "../flags/manifest-flags.js";
|
|
2
2
|
export { registerRegistryCommand } from "./command.js";
|
|
3
3
|
export { filterNodes, searchWithFilters, } from "./filter-engine.js";
|
|
4
4
|
export { FilterParseError, parseFilterString } from "./filter-parser.js";
|
|
5
|
-
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, enrichConnectorNode, extractActivityFilterFields, extractMultipartParameters, extractTriggerEventParameters, extractTriggerFilterFields, fetchConnectionInfo, fetchConnectorMetadata, fetchConnectorTriggerMetadata, getConnectorConfiguration, getConnectorInfo, isConnectorNode, isConnectorTriggerNode, MANAGED_HTTP_CONNECTOR_KEY, } from "./integration-service-fetcher.js";
|
|
5
|
+
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, enrichConnectorNode, extractActivityFilterFields, extractMultipartParameters, extractTriggerEventParameters, extractTriggerFilterFields, fetchConnectionInfo, fetchConnectorMetadata, fetchConnectorTriggerMetadata, getConnectorConfiguration, getConnectorInfo, inlineMultipartFileValues, isConnectorNode, isConnectorTriggerNode, MANAGED_HTTP_CONNECTOR_KEY, } from "./integration-service-fetcher.js";
|
|
6
6
|
export type { CompactField, ConnectorInfo, ConnectorMethodInfo, ContextEntry, FieldReference, ISField, ISFieldMethod, ISMetadata, ISMetadataParam, TriggerField, TriggerFieldEvent, TriggerObjectMetadata, } from "./integration-service-metadata.types";
|
|
7
|
-
export {
|
|
7
|
+
export { isKnownSdkNodeType, listKnownSdkNodes } from "./known-types.js";
|
|
8
|
+
export { areDerivedArtifactsCurrent, buildEssentialsIndex, buildSearchIndex, CACHE_FORMAT_VERSION, type DerivedArtifact, hashContent, isEssentialNodeType, loadIndexMetadata, loadNodeIndex, loadValidEssentialsIndex, loadValidSearchIndex, type NodeSearchSummary, rederiveNodeIndexArtifacts, resolveNodeStorageDir, type SearchableNode, type SyncMetadata, saveIndexMetadata, saveNodeIndex, } from "./node-storage.js";
|
|
8
9
|
export { getNode, getNodeEnriched, listNodes, pullNodes, pullRemoteNodes, searchNodes, searchNodesWithFilters, } from "./node-sync-service.js";
|
|
9
10
|
export type { SolutionContext } from "./solution-discovery.js";
|
|
10
11
|
export { buildInSolutionNodeManifests, findSolutionFromCwd, readProjectEntryPointIO, } from "./solution-discovery.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NodeManifest } from "@uipath/flow-core";
|
|
2
2
|
import type { CompactField, ConnectorConfiguration, ConnectorInfo, ISMetadata, TriggerObjectMetadata } from "./integration-service-metadata.types";
|
|
3
|
-
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, extractMultipartParameters, MANAGED_HTTP_CONNECTOR_KEY, } from "@uipath/integrationservice-sdk";
|
|
3
|
+
export { buildActivityEssentialConfiguration, buildInputMetadata, buildManagedHttpEssentialConfiguration, buildTriggerEssentialConfiguration, extractMultipartParameters, inlineMultipartFileValues, MANAGED_HTTP_CONNECTOR_KEY, } from "@uipath/integrationservice-sdk";
|
|
4
4
|
export declare function isConnectorNode(node: NodeManifest): boolean;
|
|
5
5
|
export declare function isConnectorTriggerNode(node: NodeManifest): boolean;
|
|
6
6
|
export declare function extractTriggerEventParameters(metadata: TriggerObjectMetadata, operationName: string): CompactField[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { NodeManifest } from "@uipath/flow-core";
|
|
2
|
+
/**
|
|
3
|
+
* Cheap, network-free check: does the SDK bundle know about this node type?
|
|
4
|
+
*
|
|
5
|
+
* Case-insensitive match against the full OOTB + inline-agent catalog. Returns
|
|
6
|
+
* `true` when the type is something the platform supports (but may be gated
|
|
7
|
+
* for the current tenant), `false` when it is genuinely unknown.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isKnownSdkNodeType(nodeType: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Return every node manifest the SDK bundle knows about (OOTB + inline agents).
|
|
12
|
+
*
|
|
13
|
+
* Used by `registry list --all` to surface FF-gated nodes that exist in the
|
|
14
|
+
* SDK catalog but were filtered out of the tenant's manifest. The list is a
|
|
15
|
+
* fresh array per call so callers can mutate freely.
|
|
16
|
+
*/
|
|
17
|
+
export declare function listKnownSdkNodes(): NodeManifest[];
|
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
import type { NodeManifest } from "@uipath/flow-core";
|
|
2
|
+
export declare const CACHE_FORMAT_VERSION = 1;
|
|
3
|
+
export interface SearchableNode {
|
|
4
|
+
nodeType?: string;
|
|
5
|
+
category?: string;
|
|
6
|
+
tags?: string[];
|
|
7
|
+
version?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
display?: {
|
|
10
|
+
label?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
};
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export type NodeSearchSummary = SearchableNode;
|
|
16
|
+
export interface DerivedArtifact<T> {
|
|
17
|
+
cacheVersion: number;
|
|
18
|
+
sourceHash: string;
|
|
19
|
+
generatedAt: number;
|
|
20
|
+
nodes: T[];
|
|
21
|
+
}
|
|
2
22
|
/**
|
|
3
23
|
* Metadata about a node source sync operation
|
|
4
24
|
*/
|
|
@@ -6,6 +26,7 @@ export interface SyncMetadata {
|
|
|
6
26
|
lastSync: number;
|
|
7
27
|
nodeCount: number;
|
|
8
28
|
hash: string;
|
|
29
|
+
cacheVersion?: number;
|
|
9
30
|
}
|
|
10
31
|
/**
|
|
11
32
|
* Resolve the absolute path to the nodes storage directory.
|
|
@@ -21,10 +42,13 @@ export declare function resolveNodeStorageDir(): Promise<string>;
|
|
|
21
42
|
* @returns Hex string of the hash
|
|
22
43
|
*/
|
|
23
44
|
export declare function hashContent(content: string): Promise<string>;
|
|
45
|
+
export declare function buildSearchIndex(nodes: NodeManifest[]): NodeSearchSummary[];
|
|
46
|
+
export declare function isEssentialNodeType(nodeType: string | undefined): boolean;
|
|
47
|
+
export declare function buildEssentialsIndex(nodes: NodeManifest[]): NodeManifest[];
|
|
24
48
|
/**
|
|
25
|
-
* Save nodes directly to the index file
|
|
26
|
-
* Bypasses the source aggregation and saves nodes directly
|
|
27
|
-
* Also updates the index metadata
|
|
49
|
+
* Save nodes directly to the index file.
|
|
50
|
+
* Bypasses the source aggregation and saves nodes directly.
|
|
51
|
+
* Also updates the index metadata and derived read-path artifacts.
|
|
28
52
|
*
|
|
29
53
|
* @param nodes - Array of nodes to save
|
|
30
54
|
* @returns Number of nodes saved
|
|
@@ -49,3 +73,7 @@ export declare function saveIndexMetadata(metadata: SyncMetadata): Promise<void>
|
|
|
49
73
|
* @returns Metadata if exists, null otherwise
|
|
50
74
|
*/
|
|
51
75
|
export declare function loadIndexMetadata(): Promise<SyncMetadata | null>;
|
|
76
|
+
export declare function loadValidSearchIndex(): Promise<NodeSearchSummary[] | null>;
|
|
77
|
+
export declare function loadValidEssentialsIndex(): Promise<NodeManifest[] | null>;
|
|
78
|
+
export declare function areDerivedArtifactsCurrent(): Promise<boolean>;
|
|
79
|
+
export declare function rederiveNodeIndexArtifacts(): Promise<number>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NodeManifest } from "@uipath/flow-core";
|
|
2
|
+
import { type NodeSearchSummary } from "./node-storage.js";
|
|
2
3
|
import type { ParsedFilters } from "./types";
|
|
3
4
|
interface PullNodesOptions {
|
|
4
5
|
force?: boolean;
|
|
@@ -45,6 +46,11 @@ export declare function pullRemoteNodes(): Promise<PullRemoteNodesResult>;
|
|
|
45
46
|
export declare function listNodes(options?: {
|
|
46
47
|
local?: boolean;
|
|
47
48
|
}): Promise<NodeManifest[]>;
|
|
49
|
+
interface SearchSummaryWithAvailability {
|
|
50
|
+
node: NodeSearchSummary;
|
|
51
|
+
availableOnTenant: boolean;
|
|
52
|
+
}
|
|
53
|
+
export declare function searchNodeSummariesWithAvailability(keyword?: string, filters?: ParsedFilters): Promise<SearchSummaryWithAvailability[]>;
|
|
48
54
|
/**
|
|
49
55
|
* Search for nodes by keyword
|
|
50
56
|
* Searches across nodeType, category, tags, and display.label
|
|
@@ -20,6 +20,18 @@ export declare function findSolutionFromCwd(): Promise<SolutionContext | null>;
|
|
|
20
20
|
/**
|
|
21
21
|
* Read entry-points.json from a project directory.
|
|
22
22
|
* Tries flat layout first, then content/ subdirectory.
|
|
23
|
+
*
|
|
24
|
+
* Falls back to extracting `variables.globals` from the project's `.flow`
|
|
25
|
+
* file whenever no usable `entry-points.json` is found in either candidate
|
|
26
|
+
* location — that is, when the file is missing, unreadable, contains
|
|
27
|
+
* invalid JSON, or carries an empty `entryPoints` array. `flow init` and
|
|
28
|
+
* `flow variable add` do not emit `entry-points.json` — the packager
|
|
29
|
+
* generates it into a temp staging dir at pack time — so without this
|
|
30
|
+
* fallback the in-solution registry would always report empty
|
|
31
|
+
* inputDefinition/outputDefinition for unpacked source flow projects. The
|
|
32
|
+
* broader trigger (not strictly ENOENT) is intentional: a corrupted or
|
|
33
|
+
* stale `entry-points.json` should still let the `.flow` source recover
|
|
34
|
+
* the typed contract.
|
|
23
35
|
*/
|
|
24
36
|
export declare function readProjectEntryPointIO(projectDir: string): Promise<ProjectEntryPointIO>;
|
|
25
37
|
/**
|
|
@@ -10,5 +10,7 @@ export interface InstanceCommandsConfig {
|
|
|
10
10
|
includeElementExecutions?: boolean;
|
|
11
11
|
/** Whether --folder-key is required (default: true) */
|
|
12
12
|
folderKeyRequired?: boolean;
|
|
13
|
+
/** Whether --folder-key is required for list (default: folderKeyRequired) */
|
|
14
|
+
listFolderKeyRequired?: boolean;
|
|
13
15
|
}
|
|
14
16
|
export declare const registerSharedInstanceCommands: (program: Command, config: InstanceCommandsConfig) => void;
|
|
@@ -1,2 +1,38 @@
|
|
|
1
1
|
import type { PimsApiConfig } from "./types";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Optional metadata describing the resource being fetched. When provided, the
|
|
4
|
+
* helper formats a resource-aware 404 message (e.g. `"Incident not found: <id>"`)
|
|
5
|
+
* instead of falling back to the generic `errorMessage`.
|
|
6
|
+
*/
|
|
7
|
+
export interface PimsResourceHint {
|
|
8
|
+
/** Resource label (e.g. `"incident"`, `"process"`, `"instance"`). Capitalised in the message. */
|
|
9
|
+
resource: string;
|
|
10
|
+
/** The resource identifier the caller looked up (e.g. the incident id). */
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Wrap a PIMS API call. On failure, branches on HTTP status to surface a
|
|
15
|
+
* stable, machine-readable error envelope:
|
|
16
|
+
*
|
|
17
|
+
* | HTTP | Result | Code |
|
|
18
|
+
* |-----------------|-----------------------|-------------------------|
|
|
19
|
+
* | 404 | `Failure` | `NotFound` |
|
|
20
|
+
* | 401 | `AuthenticationError` | `Unauthorized` |
|
|
21
|
+
* | 403 | `AuthenticationError` | `Forbidden` |
|
|
22
|
+
* | 5xx | `Failure` | `ServerError_<status>` |
|
|
23
|
+
* | Other 4xx | `Failure` | `Http_<status>` |
|
|
24
|
+
* | Network failure | `Failure` | `NetworkError` |
|
|
25
|
+
* | Unknown shape | `Failure` | `UnknownError` |
|
|
26
|
+
* | Config failure | `Failure` | `ConfigError` |
|
|
27
|
+
*
|
|
28
|
+
* Pass {@link PimsResourceHint} (e.g. `{ resource: "incident", id }`) to get a
|
|
29
|
+
* resource-aware 404 message (`"Incident not found: <id>"`). When omitted, the
|
|
30
|
+
* helper falls back to `errorMessage`.
|
|
31
|
+
*
|
|
32
|
+
* For `PimsApiError`s the wire envelope also carries a `Context` block sourced
|
|
33
|
+
* from the typed error (`httpStatus`, `endpoint`, `method`, `errorCode`,
|
|
34
|
+
* `traceId`, `requestId` when present) and `Instructions` shaped by
|
|
35
|
+
* `pimsFailureInstructions`. Non-PimsApiError failures fall back to
|
|
36
|
+
* `extractErrorMessage(error)` for `Instructions` and emit no `Context`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function withPimsCall<T>(fn: (config: PimsApiConfig) => Promise<T>, errorMessage: string, hint?: PimsResourceHint): Promise<T | undefined>;
|