@uipath/flow-tool 1.201.0-preview.115 → 1.201.0-preview.121
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/{authoring-vbbqwp0v.js → authoring-rezk32bm.js} +64 -20
- package/dist/{conversion-MQ7TJMHW-5zbdb6y2.js → conversion-W6HMHBWW-jnk9z7rw.js} +42 -34
- package/dist/{de-JT3SUGT4-msgpbdge.js → de-B2KIY5TC-81f703v3.js} +14 -5
- package/dist/{de-3RMZHIP6-1na18a74.js → de-K6MLR24N-00fjz82b.js} +474 -51
- package/dist/{de-3RMZHIP6-QW5DEMLQ-fw64syvn.js → de-K6MLR24N-5N5XGLH6-gbwpvdz4.js} +476 -53
- package/dist/{de-LVBY3VVG-tc58p3x6.js → de-WMKOGI7B-r1821wpe.js} +16 -7
- package/dist/de-XLT4QPIP-0rtw349w.js +32 -0
- package/dist/{en-JGJNQYMG-BSN3EE6C-mhg57v8h.js → en-ILA4HPE5-ALHGESZE-zrv4qss8.js} +267 -7
- package/dist/{en-JGJNQYMG-xq29xvhk.js → en-ILA4HPE5-fhwvq92r.js} +264 -4
- package/dist/{en-H54NJOH6-30ht8n64.js → en-P6PNWNTO-g1f6cjh5.js} +10 -4
- package/dist/{en-4UFXRW7N-mqabr9tf.js → en-X4DLPKLJ-dt1wtdm7.js} +17 -5
- package/dist/{es-GJOELELT-w1d3agm2.js → es-BBX4AUJX-h99fcr53.js} +14 -5
- package/dist/{es-CI4AE5B5-55sgqk64.js → es-BVPGJUWA-9gk2g9yb.js} +16 -7
- package/dist/{es-EYHYM5C4-RMLHZ2LF-s0fc3pd6.js → es-HTQSD352-YTAEDCE5-nhsbg581.js} +470 -47
- package/dist/{es-EYHYM5C4-3bajghda.js → es-HTQSD352-m9rr3f0g.js} +468 -45
- package/dist/{es-MX-AMZIGU27-5pembt6k.js → es-MX-3SP2SSV6-f20qspbr.js} +14 -5
- package/dist/{es-MX-QSQP2KWV-qvgkwvz2.js → es-MX-FOX525CG-87g500gr.js} +474 -51
- package/dist/{es-MX-QSQP2KWV-XR5DWKNF-kp7pk2s4.js → es-MX-FOX525CG-HLM27OEL-whr0t9v3.js} +476 -53
- package/dist/es-MX-OKNDG2NH-c1k1s1tg.js +32 -0
- package/dist/{es-MX-OLZNAYY5-30cmv1dx.js → es-MX-U6YL5KQX-ynwxdjr8.js} +16 -7
- package/dist/es-NQICVYSQ-aa9z3nhs.js +32 -0
- package/dist/{fr-FXFJQRD3-F5HV2VS7-pwdze89j.js → fr-54THJ4QH-IGABNGU6-fpzw2mba.js} +475 -52
- package/dist/{fr-FXFJQRD3-rfztd3e5.js → fr-54THJ4QH-d6ezjbhw.js} +473 -50
- package/dist/{fr-CCN6ZO5E-x2akzsjt.js → fr-EKTTDR7Z-bmpwp31r.js} +16 -7
- package/dist/{fr-LYFYWWCC-nn4reak0.js → fr-FSTBVVGK-t3y57xrb.js} +14 -5
- package/dist/fr-PFHIL7YZ-cxnshwa8.js +32 -0
- package/dist/index-6hp3p3eq.js +16489 -0
- package/dist/{index-w23k88b5.js → index-p50kx6jv.js} +202 -64
- package/dist/{index-hzp6y5m7.js → index-q59ephfh.js} +57 -3
- package/dist/index.js +19 -16
- package/dist/init.js +14 -11
- package/dist/{ja-IRXXIG6Q-b3att2bw.js → ja-FW33BJBW-htfk4d8t.js} +14 -5
- package/dist/{ja-G7NJYQ42-ve4gadd7.js → ja-MHUPLSWO-3qwy4jc0.js} +470 -47
- package/dist/{ja-G7NJYQ42-X76DVL7A-9p8b5115.js → ja-MHUPLSWO-CS3KE4Y3-mbtkzwd7.js} +472 -49
- package/dist/ja-P4OSE367-8ywxep9a.js +32 -0
- package/dist/{ja-O2NEV5D6-nt9rhd8c.js → ja-Y2YBTXNN-96cvy5av.js} +16 -7
- package/dist/{ko-M32WKZ3I-5td5jsw7.js → ko-PDO5AXNW-d653t4pc.js} +14 -5
- package/dist/ko-PYOS2KJP-5sbj5bp8.js +32 -0
- package/dist/{ko-7XWV2SEQ-chk3y7aj.js → ko-S33XAV26-cxf4dn2t.js} +16 -7
- package/dist/{ko-QDHECDTM-6WJAKMQI-0fpd4dqj.js → ko-XPJTXIKK-DNSW4KYQ-956vp61f.js} +469 -46
- package/dist/{ko-QDHECDTM-zmbqs9pr.js → ko-XPJTXIKK-w1hs4px7.js} +467 -44
- package/dist/{node-6xp9wf15.js → node-f062h75p.js} +11 -5
- package/dist/{node-strategy-fwj45942.js → node-strategy-8gzp67xs.js} +4 -4
- package/dist/{packager-tool-kvgt1s4z.js → packager-tool-03knb0er.js} +287 -22
- package/dist/{packager-tool-9ae2gt84.js → packager-tool-1g6958de.js} +19 -8
- package/dist/{packager-tool-vz3b1ea9.js → packager-tool-1gt6js73.js} +7 -914
- package/dist/{packager-tool-973f0r2g.js → packager-tool-1yy9x4vk.js} +17 -5
- package/dist/{packager-tool-jqtspg41.js → packager-tool-3wf3tkrc.js} +11 -5
- package/dist/packager-tool-6a7wdv5z.js +36187 -0
- package/dist/{packager-tool-mtrz8981.js → packager-tool-9x76z587.js} +140 -239
- package/dist/packager-tool-b0s5d4ek.js +10671 -0
- package/dist/{packager-tool-htc0z863.js → packager-tool-cqrsre00.js} +282 -27
- package/dist/{packager-tool-q9zrqwxw.js → packager-tool-ef2aypt3.js} +3257 -2669
- package/dist/{packager-tool-h3gpqv5a.js → packager-tool-jeh5j2xy.js} +6939 -3736
- package/dist/packager-tool-jpcm3xas.js +12 -0
- package/dist/{packager-tool-3gmj73c5.js → packager-tool-neavt1k3.js} +1 -1
- package/dist/packager-tool-nkrmjr3a.js +915 -0
- package/dist/{packager-tool-p1ts5b0h.js → packager-tool-ny53xmsd.js} +129 -49
- package/dist/{packager-tool-fr5b9qs6.js → packager-tool-pvgqbm48.js} +3 -3
- package/dist/{packager-tool-9qhez6bh.js → packager-tool-qfp49pq4.js} +964 -526
- package/dist/packager-tool-v2p6g3fd.js +41 -0
- package/dist/{packager-tool-2vme4a8e.js → packager-tool-xa2xwzrq.js} +9864 -16886
- package/dist/packager-tool.js +9 -8
- package/dist/{pt-VXJT4WUJ-nwkc9k2p.js → pt-4JEPEAST-40npwxyw.js} +471 -48
- package/dist/{pt-VXJT4WUJ-M3IR7CL5-1f2ph8gm.js → pt-4JEPEAST-JO5WN33S-ccdbdab2.js} +473 -50
- package/dist/{pt-BR-Z4J3LEEO-cf33d2zv.js → pt-BR-JO45SCNI-4kbfnzc4.js} +16 -7
- package/dist/{pt-BR-57EHXZKB-8g83gr5g.js → pt-BR-LQH3RSBB-kyb4jmcw.js} +14 -5
- package/dist/{pt-BR-SADBLGXA-WG4Q265J-w9tshygt.js → pt-BR-TV7NR3ID-PDSSHRHU-nddwzj29.js} +472 -49
- package/dist/{pt-BR-SADBLGXA-yd89fdy2.js → pt-BR-TV7NR3ID-vgd26pj1.js} +470 -47
- package/dist/pt-BR-Z3TUDJHM-n7ngej6s.js +32 -0
- package/dist/{pt-VNM2XWHA-62z625rh.js → pt-JLZYSSXX-7jth254x.js} +14 -5
- package/dist/pt-KSBWHAVQ-hd52bpsz.js +32 -0
- package/dist/{pt-CRSN3TCU-txxbbcxm.js → pt-W3NA4LIZ-f02gapvs.js} +16 -7
- package/dist/{ro-RISZ75LL-zwztp9j5.js → ro-E2EBPQGT-vn573vcr.js} +14 -5
- package/dist/{ro-7JHKFGCH-H3RYKSCL-4w49rx4m.js → ro-RKJ74FV3-QS3I6XKJ-kb31d85k.js} +475 -52
- package/dist/{ro-7JHKFGCH-hbtkeqdr.js → ro-RKJ74FV3-qn0ey39v.js} +473 -50
- package/dist/ro-VZUZTAMR-tccygznf.js +32 -0
- package/dist/{ro-WMQEVD7D-6mtq0e6b.js → ro-WLKX6HF5-fcbe2zz8.js} +16 -7
- package/dist/ru-GSCT4ARZ-3TVTUGWP-bbg6360z.js +15 -0
- package/dist/{serialization-JNQMGOXW-mj06e5pv.js → serialization-GTFWODSH-ajd6b7n2.js} +10 -8
- package/dist/services/flow-validate-service.d.ts +108 -0
- package/dist/services/node-service.d.ts +46 -0
- package/dist/services/node-validators/ceql-query-validator.d.ts +36 -10
- package/dist/services/node-validators/expression-prefix-validator.d.ts +3 -2
- package/dist/services/node-validators/index.d.ts +2 -1
- package/dist/services/project-artifacts.d.ts +14 -1
- package/dist/tool.js +17 -14
- package/dist/{tr-UCMB7W3T-xmxp2naq.js → tr-3U2W2XCA-zg3zcmq3.js} +15 -6
- package/dist/tr-W4AVRSQ4-bt3qqqdy.js +32 -0
- package/dist/{tr-Q6IHBFK7-BEUWO5CI-29rgfwjy.js → tr-X7R6GQNB-VMEZAWRJ-vdbjqw23.js} +484 -61
- package/dist/{tr-Q6IHBFK7-zs9rsm1b.js → tr-X7R6GQNB-shwv16dz.js} +482 -59
- package/dist/{tr-AUPQF34V-y3dhtj0w.js → tr-ZUUSMHER-pfn5dq1r.js} +14 -5
- package/dist/validation.js +14 -11
- package/dist/zh-CN-6YRAN57T-j7jp34ws.js +32 -0
- package/dist/{zh-CN-3BPA3WIX-JDICNKGH-m87940q5.js → zh-CN-FEZ24J4A-LSEMG63K-db8kf6rm.js} +472 -49
- package/dist/{zh-CN-3BPA3WIX-c5ts2m5v.js → zh-CN-FEZ24J4A-q5b5x20w.js} +470 -47
- package/dist/{zh-CN-2QOHEFC5-ryjb2byk.js → zh-CN-IPZYQR3P-1h76csc4.js} +16 -7
- package/dist/{zh-CN-3INOX2E5-txhr8e18.js → zh-CN-YFKQ7HBX-w98q5zqf.js} +14 -5
- package/dist/{zh-TW-UI34YLZQ-j79rg6b7.js → zh-TW-CP5PCVEJ-wvbxf7c7.js} +14 -5
- package/dist/{zh-TW-QCJEQC5S-b1v637hd.js → zh-TW-GKSCT6NW-4n1yfre0.js} +464 -41
- package/dist/{zh-TW-QCJEQC5S-DQ3454QP-y8vvrebz.js → zh-TW-GKSCT6NW-JLMWTDAF-g2smq1gm.js} +466 -43
- package/dist/zh-TW-SO2245GN-m5kh88bg.js +32 -0
- package/dist/{zh-TW-Q5QSSTS6-6y7yjbbn.js → zh-TW-YPVSQVGT-wbybwpwt.js} +16 -7
- package/package.json +2 -2
- package/dist/de-CS2KUCZ6-j5a38g9p.js +0 -20
- package/dist/es-MX-3MRZG6V4-9z56akxp.js +0 -20
- package/dist/es-QBAGOKHO-b2azze22.js +0 -20
- package/dist/fr-HVOCQCNI-1zn75qzy.js +0 -20
- package/dist/ja-VYAZOLWC-nbagzgre.js +0 -20
- package/dist/ko-EZTVBPMZ-9qq2mrrz.js +0 -20
- package/dist/packager-tool-ahm4ymrp.js +0 -12
- package/dist/packager-tool-hcdc89cf.js +0 -14010
- package/dist/pt-3TKAWGMJ-58y42w7x.js +0 -20
- package/dist/pt-BR-ASMQE3WA-9wb74cqx.js +0 -20
- package/dist/ro-A65KBZGL-qnwqqezz.js +0 -20
- package/dist/ru-GSCT4ARZ-YSDBAAM2-ha88ztsj.js +0 -15
- package/dist/tr-Z7YHMEX6-daq3vjbh.js +0 -20
- package/dist/zh-CN-W7FK4GLU-vn3n8fcq.js +0 -20
- package/dist/zh-TW-PHOEUN3F-t56cjsgw.js +0 -20
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registerPackagerFactories
|
|
3
|
-
} from "./packager-tool-
|
|
3
|
+
} from "./packager-tool-neavt1k3.js";
|
|
4
4
|
import {
|
|
5
5
|
flowInitAsync
|
|
6
|
-
} from "./packager-tool-
|
|
6
|
+
} from "./packager-tool-1g6958de.js";
|
|
7
7
|
import {
|
|
8
8
|
ERROR_SOURCE_PORT,
|
|
9
9
|
FlowEvalFileStore,
|
|
@@ -35,18 +35,14 @@ import {
|
|
|
35
35
|
stageInlineAgentPackageFiles,
|
|
36
36
|
writePackagingArtifacts,
|
|
37
37
|
writePackagingArtifactsDetailed
|
|
38
|
-
} from "./packager-tool-
|
|
38
|
+
} from "./packager-tool-qfp49pq4.js";
|
|
39
39
|
import {
|
|
40
40
|
ensureProjectId
|
|
41
41
|
} from "./packager-tool-7yjpwj92.js";
|
|
42
42
|
import {
|
|
43
43
|
FilterNotSupportedError,
|
|
44
|
-
JobsApi,
|
|
45
44
|
MANAGED_HTTP_CONNECTOR_KEY,
|
|
46
45
|
MaestroHttpError,
|
|
47
|
-
PackageFeedsApi,
|
|
48
|
-
ProcessesApi,
|
|
49
|
-
ReleasesApi,
|
|
50
46
|
VALID_PACKAGE_NAME_REGEX,
|
|
51
47
|
allDefinitions,
|
|
52
48
|
applySavedFilterTree,
|
|
@@ -54,27 +50,20 @@ import {
|
|
|
54
50
|
buildInputMetadata,
|
|
55
51
|
buildManagedHttpEssentialConfiguration,
|
|
56
52
|
buildSolutionPackageFromDir,
|
|
57
|
-
createApiClient,
|
|
58
53
|
createConfiguredActivityClient,
|
|
59
|
-
createOrchestratorConfig,
|
|
60
54
|
createZipFromDir,
|
|
61
55
|
debugPimsGet,
|
|
62
56
|
extractMultipartParameters,
|
|
63
57
|
extractStartEventId,
|
|
64
58
|
fetchConnectionInfo,
|
|
65
59
|
fetchConnectorMetadata,
|
|
66
|
-
findNearestParentUipxFile,
|
|
67
60
|
findProjectFlowFile,
|
|
68
|
-
findSolutionFile,
|
|
69
61
|
formatTraceLine,
|
|
70
|
-
getAuthContext,
|
|
71
62
|
getFolderInfoById,
|
|
72
|
-
getLoginStatusAsync,
|
|
73
63
|
getPersonalFolderInfo,
|
|
74
64
|
getPersonalFolderKey,
|
|
75
65
|
getStudioWebSolutionProjects,
|
|
76
66
|
inlineMultipartFileValues,
|
|
77
|
-
isProjectRegisteredInSolution,
|
|
78
67
|
isSuccessfulDebugStatus,
|
|
79
68
|
nodeModuleRegistry,
|
|
80
69
|
normalizeHttpMethod,
|
|
@@ -82,21 +71,34 @@ import {
|
|
|
82
71
|
patchConnectionOverwrites,
|
|
83
72
|
prepareForCustomDebug,
|
|
84
73
|
readFlowWorkflow,
|
|
85
|
-
readUipxFile,
|
|
86
74
|
registerRegistryCommand,
|
|
87
75
|
registerSharedDebugInstanceCommands,
|
|
88
76
|
registerSharedIncidentCommands,
|
|
89
77
|
registerSharedInstanceCommands,
|
|
90
78
|
registerSharedProcessCommands,
|
|
91
79
|
registerSharedProcessesCommands,
|
|
92
|
-
resolveFolder,
|
|
93
80
|
substituteFilterVariables,
|
|
94
|
-
updateSolutionFile,
|
|
95
81
|
uploadAndDebugSolution,
|
|
96
|
-
uploadJobAttachment,
|
|
97
82
|
uploadOrOverwriteSolution,
|
|
98
83
|
writeFlowWorkflow
|
|
99
|
-
} from "./packager-tool-
|
|
84
|
+
} from "./packager-tool-xa2xwzrq.js";
|
|
85
|
+
import {
|
|
86
|
+
JobsApi,
|
|
87
|
+
PackageFeedsApi,
|
|
88
|
+
ProcessesApi,
|
|
89
|
+
ReleasesApi,
|
|
90
|
+
createApiClient,
|
|
91
|
+
createOrchestratorConfig,
|
|
92
|
+
findNearestParentUipxFile,
|
|
93
|
+
findSolutionFile,
|
|
94
|
+
getAuthContext,
|
|
95
|
+
getLoginStatusAsync,
|
|
96
|
+
isProjectRegisteredInSolution,
|
|
97
|
+
readUipxFile,
|
|
98
|
+
resolveFolder,
|
|
99
|
+
updateSolutionFile,
|
|
100
|
+
uploadJobAttachment
|
|
101
|
+
} from "./packager-tool-b0s5d4ek.js";
|
|
100
102
|
import {
|
|
101
103
|
ATTACHMENT_INSTRUCTIONS,
|
|
102
104
|
ATTACHMENT_UPLOAD_INSTRUCTIONS,
|
|
@@ -110,7 +112,6 @@ import {
|
|
|
110
112
|
appendOption,
|
|
111
113
|
catchError,
|
|
112
114
|
createHiddenDeprecatedTenantOption,
|
|
113
|
-
ensureToolModule,
|
|
114
115
|
extractErrorMessage,
|
|
115
116
|
extractErrorMessageSync,
|
|
116
117
|
getSdkUserAgentToken,
|
|
@@ -128,7 +129,7 @@ import {
|
|
|
128
129
|
readStdin,
|
|
129
130
|
registerPackageMetadataOptions,
|
|
130
131
|
resolveAttachmentInputs
|
|
131
|
-
} from "./packager-tool-
|
|
132
|
+
} from "./packager-tool-ny53xmsd.js";
|
|
132
133
|
import {
|
|
133
134
|
getFileSystem
|
|
134
135
|
} from "./packager-tool-1cb0d5e0.js";
|
|
@@ -157,15 +158,17 @@ import {
|
|
|
157
158
|
setPublishIntentOnInlineAgents,
|
|
158
159
|
snapToGrid,
|
|
159
160
|
validateIdentifier
|
|
160
|
-
} from "./packager-tool-
|
|
161
|
+
} from "./packager-tool-6a7wdv5z.js";
|
|
161
162
|
import {
|
|
162
163
|
compareVersions,
|
|
163
164
|
executeWritePlan,
|
|
164
165
|
generatePackageDescriptor,
|
|
165
166
|
generateRandomId,
|
|
166
167
|
inMemoryWorkflowToFileFormat,
|
|
168
|
+
isExpressionValue,
|
|
169
|
+
isStartEventNode,
|
|
167
170
|
planWriteThrough
|
|
168
|
-
} from "./packager-tool-
|
|
171
|
+
} from "./packager-tool-ef2aypt3.js";
|
|
169
172
|
import {
|
|
170
173
|
__require,
|
|
171
174
|
__toESM
|
|
@@ -174,7 +177,7 @@ import {
|
|
|
174
177
|
var package_default = {
|
|
175
178
|
name: "@uipath/flow-tool",
|
|
176
179
|
license: "MIT",
|
|
177
|
-
version: "1.201.0-preview.
|
|
180
|
+
version: "1.201.0-preview.121",
|
|
178
181
|
description: "Create, debug, and run UiPath Flow projects and jobs.",
|
|
179
182
|
private: false,
|
|
180
183
|
repository: {
|
|
@@ -223,11 +226,11 @@ var package_default = {
|
|
|
223
226
|
"@uipath/builder-sdk": "workspace:*",
|
|
224
227
|
"@uipath/common": "workspace:*",
|
|
225
228
|
"@uipath/filesystem": "workspace:*",
|
|
226
|
-
"@uipath/flow-core": "^0.
|
|
229
|
+
"@uipath/flow-core": "^0.68.0",
|
|
227
230
|
elkjs: "^0.11.1",
|
|
228
|
-
"@uipath/flow-converter": "^0.
|
|
229
|
-
"@uipath/flow-migrations": "^0.
|
|
230
|
-
"@uipath/flow-schema": "^0.
|
|
231
|
+
"@uipath/flow-converter": "^0.42.1",
|
|
232
|
+
"@uipath/flow-migrations": "^0.33.0",
|
|
233
|
+
"@uipath/flow-schema": "^0.42.0",
|
|
231
234
|
"@uipath/integrationservice-sdk": "workspace:*",
|
|
232
235
|
i18next: "^23.16.8",
|
|
233
236
|
"@uipath/maestro-sdk": "workspace:*",
|
|
@@ -1306,7 +1309,7 @@ class FlowDebugService {
|
|
|
1306
1309
|
];
|
|
1307
1310
|
const startNodeId = entryPoints[0]?.filePath.split("#")[1] ?? startEventId;
|
|
1308
1311
|
entryPoint = `/${bpmnFileName}#${startNodeId}`;
|
|
1309
|
-
const [refreshError, refreshResult] = await catchError(
|
|
1312
|
+
const [refreshError, refreshResult] = await catchError(import("./index-6hp3p3eq.js").then((mod) => mod.resourceRefreshAsync(stagingDir)));
|
|
1310
1313
|
if (refreshError) {
|
|
1311
1314
|
logger.warn(`Resource refresh threw before debug: ${refreshError.message}. Continuing without generated overwrites.`);
|
|
1312
1315
|
} else if (refreshResult.ok) {
|
|
@@ -6771,10 +6774,32 @@ function buildAgentToolParamsFromMetadata(metadata, method) {
|
|
|
6771
6774
|
}
|
|
6772
6775
|
var UNRESOLVABLE_FILTER_MARKER = "${=js:";
|
|
6773
6776
|
var MANGLED_FILTER_FRAGMENT = "${";
|
|
6774
|
-
|
|
6777
|
+
var DANGLING_TRAILING_OPERATOR = /(?:^|\s)(?:AND|OR)\s*$/i;
|
|
6778
|
+
var DANGLING_LEADING_OPERATOR = /^\s*(?:AND|OR)(?:\s|$)/i;
|
|
6779
|
+
var DOUBLED_OPERATOR = /(?:^|\s)(?:AND|OR)\s+(?:AND|OR)(?:\s|$)/i;
|
|
6780
|
+
function collectFilterFieldIds(tree) {
|
|
6781
|
+
const ids = (tree.filters ?? []).map((condition) => condition.id);
|
|
6782
|
+
for (const group of tree.groups ?? []) {
|
|
6783
|
+
ids.push(...collectFilterFieldIds(group));
|
|
6784
|
+
}
|
|
6785
|
+
return ids;
|
|
6786
|
+
}
|
|
6787
|
+
function assertCompiledFilterResolvable(compiled, filterParamName, authoredTree) {
|
|
6775
6788
|
if (compiled.includes(MANGLED_FILTER_FRAGMENT)) {
|
|
6776
6789
|
throw new Error(`Refusing to persist the compiled filter for '${filterParamName}': it embeds a '\${…}' fragment, which the runtime never resolves — the fragment reaches the connector as literal text and the filter silently matches nothing. Cause: either a dynamic operand escaped placeholder substitution, or the design-time client mis-marked a literal value as an expression (widget-metadata defect ENGCE-60123). Workaround: author the whole filter as one '=js:' template under --detail.queryParameters.${filterParamName} (activities), or re-author the filter with values the connector's picker supports (triggers).`);
|
|
6777
6790
|
}
|
|
6791
|
+
if (!authoredTree)
|
|
6792
|
+
return;
|
|
6793
|
+
const fieldIds = collectFilterFieldIds(authoredTree);
|
|
6794
|
+
if (fieldIds.length === 0)
|
|
6795
|
+
return;
|
|
6796
|
+
const isEmpty = compiled.trim() === "";
|
|
6797
|
+
const isMalformed = DANGLING_TRAILING_OPERATOR.test(compiled) || DANGLING_LEADING_OPERATOR.test(compiled) || DOUBLED_OPERATOR.test(compiled);
|
|
6798
|
+
if (!isEmpty && !isMalformed)
|
|
6799
|
+
return;
|
|
6800
|
+
const outcome = isEmpty ? "The compiled expression is empty, so the filter disappears and the query returns every record." : `The compiled expression is broken: '${compiled}'. It holds a stray logical operator, so the connector faults at run time.`;
|
|
6801
|
+
const names = [...new Set(fieldIds)].map((id) => `'${id}'`).join(", ");
|
|
6802
|
+
throw new InvalidDetailError(`Refusing to persist the compiled filter for '${filterParamName}': the connector dropped at least one condition of --detail.filter. ${outcome} The filter tree names these fields: ${names}. Cause: a field id does not match the entity schema, or a condition has no operator. Field id matching is case-sensitive. Fix: read the supported field ids, then re-send --detail.filter with the exact ids. Run 'uip df entities get <ENTITY_ID> --output json' for a Data Service entity, or 'uip maestro flow registry get <NODE_TYPE> --connection-id <CONNECTION_ID> --output json' and read filterFields for a connector.`);
|
|
6778
6803
|
}
|
|
6779
6804
|
function assertLiteralEventParameters(eventParameters, nodeType) {
|
|
6780
6805
|
const dynamic = Object.entries(eventParameters).filter(([, value]) => typeof value === "string" && value.startsWith("=js:")).map(([name]) => `'${name}'`);
|
|
@@ -6883,7 +6908,7 @@ async function configureActivity(workflow, node, config) {
|
|
|
6883
6908
|
assertActivityMetadataResolved(activityClient.getEssentialConfiguration().essentialConfiguration, config.connectionId);
|
|
6884
6909
|
if (filterInputName && authoredFilterTree) {
|
|
6885
6910
|
const compiledFilter = activityClient.getCompiledFilter(filterInputName);
|
|
6886
|
-
assertCompiledFilterResolvable(compiledFilter, filterInputName);
|
|
6911
|
+
assertCompiledFilterResolvable(compiledFilter, filterInputName, authoredFilterTree);
|
|
6887
6912
|
detail.queryParameters = {
|
|
6888
6913
|
...detail.queryParameters ?? {},
|
|
6889
6914
|
[filterInputName]: compiledFilter
|
|
@@ -6973,7 +6998,7 @@ async function configureTrigger(workflow, node, config) {
|
|
|
6973
6998
|
});
|
|
6974
6999
|
assertActivityMetadataResolved(triggerClient.getEssentialConfiguration().essentialConfiguration, config.connectionId);
|
|
6975
7000
|
const compiledTriggerFilter = triggerClient.getCompiledFilter("filter");
|
|
6976
|
-
assertCompiledFilterResolvable(compiledTriggerFilter, "filter");
|
|
7001
|
+
assertCompiledFilterResolvable(compiledTriggerFilter, "filter", filterTree);
|
|
6977
7002
|
detail.filterExpression = compiledTriggerFilter;
|
|
6978
7003
|
if (filterTree && Object.keys(filterVariables).length > 0) {
|
|
6979
7004
|
detail.filterVariables = filterVariables;
|
|
@@ -7482,7 +7507,7 @@ Packing flow project...
|
|
|
7482
7507
|
const packageId = `${packageName}.flow.Flow`;
|
|
7483
7508
|
const version = options.version || "1.0.0";
|
|
7484
7509
|
registerPackagerFactories();
|
|
7485
|
-
const { createNodeProjectPackager, ProjectPackOptions } = await import("./node-
|
|
7510
|
+
const { createNodeProjectPackager, ProjectPackOptions } = await import("./node-f062h75p.js");
|
|
7486
7511
|
const packager = await createNodeProjectPackager({
|
|
7487
7512
|
logHandler: logger.handleLog
|
|
7488
7513
|
});
|
|
@@ -8558,9 +8583,10 @@ var ElkLayoutEngine = class {
|
|
|
8558
8583
|
const elk = await this.getElk();
|
|
8559
8584
|
const layouted = await elk.layout(graph);
|
|
8560
8585
|
const updatedNodes = this.extractNodePositions(nodes, layouted);
|
|
8586
|
+
const edgeWaypoints = this.extractEdgeWaypoints(layouted, new Set(edges.map((e) => e.id)));
|
|
8561
8587
|
const endTime = performance.now();
|
|
8562
8588
|
const metrics = this.calculateMetrics(layouted, endTime - startTime);
|
|
8563
|
-
return { nodes: updatedNodes, metrics };
|
|
8589
|
+
return { nodes: updatedNodes, edgeWaypoints, metrics };
|
|
8564
8590
|
}
|
|
8565
8591
|
collectPorts(nodes, options, resolveNodePorts) {
|
|
8566
8592
|
const nodePortsMap = /* @__PURE__ */ new Map;
|
|
@@ -8795,6 +8821,17 @@ var ElkLayoutEngine = class {
|
|
|
8795
8821
|
return { ...node, position: { x: pos.x, y: pos.y } };
|
|
8796
8822
|
});
|
|
8797
8823
|
}
|
|
8824
|
+
extractEdgeWaypoints(root, realEdgeIds) {
|
|
8825
|
+
const result = /* @__PURE__ */ new Map;
|
|
8826
|
+
for (const edge of root.edges ?? []) {
|
|
8827
|
+
if (!realEdgeIds.has(edge.id))
|
|
8828
|
+
continue;
|
|
8829
|
+
const points = (edge.sections ?? []).flatMap((s) => s.bendPoints ?? []).map((p) => ({ x: p.x, y: p.y }));
|
|
8830
|
+
if (points.length > 0)
|
|
8831
|
+
result.set(edge.id, points);
|
|
8832
|
+
}
|
|
8833
|
+
return result;
|
|
8834
|
+
}
|
|
8798
8835
|
getLayoutOptions(options) {
|
|
8799
8836
|
const opts = {
|
|
8800
8837
|
"elk.algorithm": options.algorithm,
|
|
@@ -8812,6 +8849,7 @@ var ElkLayoutEngine = class {
|
|
|
8812
8849
|
}
|
|
8813
8850
|
opts["elk.spacing.edgeNode"] = options.nodeSpacing.toString();
|
|
8814
8851
|
opts["elk.spacing.edgeEdge"] = "16";
|
|
8852
|
+
opts["elk.edgeRouting"] = "ORTHOGONAL";
|
|
8815
8853
|
break;
|
|
8816
8854
|
case "mrtree":
|
|
8817
8855
|
opts["elk.spacing.nodeNode"] = options.nodeSpacing.toString();
|
|
@@ -9424,7 +9462,7 @@ function querystringSingleKey(key, value, keyPrefix = "") {
|
|
|
9424
9462
|
var package_default2 = {
|
|
9425
9463
|
name: "@uipath/agent-sdk",
|
|
9426
9464
|
license: "MIT",
|
|
9427
|
-
version: "1.201.0-preview.
|
|
9465
|
+
version: "1.201.0-preview.121",
|
|
9428
9466
|
description: "SDK for the UiPath Agent Runtime API — evaluation execution and debug sessions.",
|
|
9429
9467
|
repository: {
|
|
9430
9468
|
type: "git",
|
|
@@ -9633,6 +9671,13 @@ var registerValidateCommand = (program) => {
|
|
|
9633
9671
|
};
|
|
9634
9672
|
|
|
9635
9673
|
// src/services/variable-service.ts
|
|
9674
|
+
var expressionText = (expression) => {
|
|
9675
|
+
if (typeof expression === "string")
|
|
9676
|
+
return expression;
|
|
9677
|
+
if (isExpressionValue(expression))
|
|
9678
|
+
return expression.expression;
|
|
9679
|
+
return "";
|
|
9680
|
+
};
|
|
9636
9681
|
var listVariablesInFlow = async (filePath) => {
|
|
9637
9682
|
const { workflow } = await readFlowWorkflow(filePath);
|
|
9638
9683
|
const globals = (workflow.variables?.globals ?? []).map((v) => ({
|
|
@@ -9640,7 +9685,10 @@ var listVariablesInFlow = async (filePath) => {
|
|
|
9640
9685
|
type: v.type,
|
|
9641
9686
|
direction: v.direction,
|
|
9642
9687
|
...v.defaultValue !== undefined && { defaultValue: v.defaultValue },
|
|
9643
|
-
...v.description !== undefined && { description: v.description }
|
|
9688
|
+
...v.description !== undefined && { description: v.description },
|
|
9689
|
+
...v.triggerNodeId !== undefined && {
|
|
9690
|
+
triggerNodeId: v.triggerNodeId
|
|
9691
|
+
}
|
|
9644
9692
|
}));
|
|
9645
9693
|
const nodes = (workflow.variables?.nodes ?? []).map((v) => ({
|
|
9646
9694
|
id: v.id,
|
|
@@ -9652,14 +9700,44 @@ var listVariablesInFlow = async (filePath) => {
|
|
|
9652
9700
|
const variables = [...globals, ...nodes];
|
|
9653
9701
|
return { variables, count: variables.length };
|
|
9654
9702
|
};
|
|
9703
|
+
var resolveTriggerNodeId = (nodes, explicitTriggerNodeId) => {
|
|
9704
|
+
const triggerNodes = nodes.filter((node) => isStartEventNode({
|
|
9705
|
+
id: node.id,
|
|
9706
|
+
type: node.type,
|
|
9707
|
+
typeVersion: node.typeVersion ?? "1.0"
|
|
9708
|
+
}));
|
|
9709
|
+
if (explicitTriggerNodeId !== undefined) {
|
|
9710
|
+
if (!nodes.some((node) => node.id === explicitTriggerNodeId)) {
|
|
9711
|
+
const available = nodes.map((node) => node.id).join(", ");
|
|
9712
|
+
throw new Error(available ? `Node '${explicitTriggerNodeId}' not found in the flow. Available nodes: ${available}` : `Node '${explicitTriggerNodeId}' not found. The flow has no nodes`);
|
|
9713
|
+
}
|
|
9714
|
+
if (!triggerNodes.some((node) => node.id === explicitTriggerNodeId)) {
|
|
9715
|
+
const triggerIds = triggerNodes.map((node) => node.id).join(", ");
|
|
9716
|
+
throw new Error(triggerIds ? `Node '${explicitTriggerNodeId}' is not a trigger node. Trigger nodes in this flow: ${triggerIds}` : `Node '${explicitTriggerNodeId}' is not a trigger node. The flow has no trigger nodes`);
|
|
9717
|
+
}
|
|
9718
|
+
return explicitTriggerNodeId;
|
|
9719
|
+
}
|
|
9720
|
+
if (triggerNodes.length === 0) {
|
|
9721
|
+
return;
|
|
9722
|
+
}
|
|
9723
|
+
if (triggerNodes.length > 1) {
|
|
9724
|
+
const triggerIds = triggerNodes.map((node) => node.id).join(", ");
|
|
9725
|
+
throw new Error(`Flow has multiple trigger nodes (${triggerIds}); each is a separate entry point. Pass --trigger-node-id <nodeId> to choose which one this input belongs to`);
|
|
9726
|
+
}
|
|
9727
|
+
return triggerNodes[0].id;
|
|
9728
|
+
};
|
|
9655
9729
|
var addVariableToFlow = async (filePath, options) => {
|
|
9730
|
+
if (options.triggerNodeId !== undefined && options.direction !== "in") {
|
|
9731
|
+
throw new Error(`--trigger-node-id applies only to input variables (--direction in), but --direction is '${options.direction}'`);
|
|
9732
|
+
}
|
|
9656
9733
|
const { workflow, refMap } = await readFlowWorkflow(filePath);
|
|
9657
9734
|
const globals = workflow.variables?.globals ?? [];
|
|
9658
9735
|
const duplicate = globals.find((v) => v.id === options.id);
|
|
9659
9736
|
if (duplicate) {
|
|
9660
9737
|
throw new Error(`Variable '${options.id}' already exists in the flow file`);
|
|
9661
9738
|
}
|
|
9662
|
-
const
|
|
9739
|
+
const triggerNodeId = options.direction === "in" ? resolveTriggerNodeId(workflow.nodes ?? [], options.triggerNodeId) : undefined;
|
|
9740
|
+
const created = createWorkflowVariable({
|
|
9663
9741
|
id: options.id,
|
|
9664
9742
|
direction: options.direction,
|
|
9665
9743
|
type: options.type,
|
|
@@ -9668,6 +9746,7 @@ var addVariableToFlow = async (filePath, options) => {
|
|
|
9668
9746
|
description: options.description,
|
|
9669
9747
|
schema: options.schema
|
|
9670
9748
|
});
|
|
9749
|
+
const variable = triggerNodeId === undefined ? created : { ...created, triggerNodeId };
|
|
9671
9750
|
addVariable(workflow, variable);
|
|
9672
9751
|
await writeFlowWorkflow(filePath, workflow, refMap);
|
|
9673
9752
|
return variable;
|
|
@@ -9686,7 +9765,7 @@ var deleteVariableFromFlow = async (filePath, variableId) => {
|
|
|
9686
9765
|
const cleaned = {};
|
|
9687
9766
|
for (const [nodeId, updates] of Object.entries(updatedVariableUpdates)) {
|
|
9688
9767
|
const varRefPattern = new RegExp(`\\$vars\\.${variableId}\\b`);
|
|
9689
|
-
const filtered = updates.filter((u) => u.variableId !== variableId && !varRefPattern.test(u.expression));
|
|
9768
|
+
const filtered = updates.filter((u) => u.variableId !== variableId && !varRefPattern.test(expressionText(u.expression)));
|
|
9690
9769
|
if (filtered.length > 0) {
|
|
9691
9770
|
cleaned[nodeId] = filtered;
|
|
9692
9771
|
}
|
|
@@ -9705,7 +9784,7 @@ var deleteVariableFromFlow = async (filePath, variableId) => {
|
|
|
9705
9784
|
// src/commands/variable.ts
|
|
9706
9785
|
var VARIABLE_ADD_EXAMPLES = [
|
|
9707
9786
|
{
|
|
9708
|
-
Description: "Add a string input variable to a flow",
|
|
9787
|
+
Description: "Add a string input variable to a flow (auto-bound to the flow's trigger node, making it an entry-point input)",
|
|
9709
9788
|
Command: "uip maestro flow variable add flow.json myInput --direction in --type string",
|
|
9710
9789
|
Output: {
|
|
9711
9790
|
Code: "VariableAddSuccess",
|
|
@@ -9713,7 +9792,23 @@ var VARIABLE_ADD_EXAMPLES = [
|
|
|
9713
9792
|
Variable: {
|
|
9714
9793
|
id: "myInput",
|
|
9715
9794
|
direction: "in",
|
|
9716
|
-
type: "string"
|
|
9795
|
+
type: "string",
|
|
9796
|
+
triggerNodeId: "manualTrigger1"
|
|
9797
|
+
}
|
|
9798
|
+
}
|
|
9799
|
+
}
|
|
9800
|
+
},
|
|
9801
|
+
{
|
|
9802
|
+
Description: "Bind an input to a specific trigger when the flow has several entry points",
|
|
9803
|
+
Command: "uip maestro flow variable add flow.json myInput --direction in --type string --trigger-node-id timerTrigger1",
|
|
9804
|
+
Output: {
|
|
9805
|
+
Code: "VariableAddSuccess",
|
|
9806
|
+
Data: {
|
|
9807
|
+
Variable: {
|
|
9808
|
+
id: "myInput",
|
|
9809
|
+
direction: "in",
|
|
9810
|
+
type: "string",
|
|
9811
|
+
triggerNodeId: "timerTrigger1"
|
|
9717
9812
|
}
|
|
9718
9813
|
}
|
|
9719
9814
|
}
|
|
@@ -9800,7 +9895,7 @@ function parseDefaultValue(value, type) {
|
|
|
9800
9895
|
}
|
|
9801
9896
|
var registerVariableCommand = (program) => {
|
|
9802
9897
|
const variable = program.command("variable").description("Manage variables in a Flow file");
|
|
9803
|
-
variable.command("add").description("Add a variable to a Flow file").argument("<file>", "Path to the .flow file").argument("<variable-id>", "Variable identifier (e.g. myInputVar)").requiredOption("-d, --direction <direction>", `Variable direction (${VALID_DIRECTIONS.join(", ")})`).option("-t, --type <type>", `Data type (${VALID_TYPES.join(", ")})`, "string").option("--default-value <value>", "Default value (parsed based on --type)").option("--description <text>", "Human-readable description").option("--schema <json>", "JSON schema for object/array types").option("--sub-type <subType>", "Sub-type for complex types").examples(VARIABLE_ADD_EXAMPLES).trackedAction(processContext, async (file, variableId, options) => {
|
|
9898
|
+
variable.command("add").description("Add a variable to a Flow file").argument("<file>", "Path to the .flow file").argument("<variable-id>", "Variable identifier (e.g. myInputVar)").requiredOption("-d, --direction <direction>", `Variable direction (${VALID_DIRECTIONS.join(", ")})`).option("-t, --type <type>", `Data type (${VALID_TYPES.join(", ")})`, "string").option("--default-value <value>", "Default value (parsed based on --type)").option("--description <text>", "Human-readable description").option("--schema <json>", "JSON schema for object/array types").option("--sub-type <subType>", "Sub-type for complex types").option("--trigger-node-id <nodeId>", "Trigger node an input variable belongs to (defaults to the flow's only trigger node; required when the flow has several)").examples(VARIABLE_ADD_EXAMPLES).trackedAction(processContext, async (file, variableId, options) => {
|
|
9804
9899
|
const identifierError = validateIdentifier(variableId, []);
|
|
9805
9900
|
if (identifierError) {
|
|
9806
9901
|
OutputFormatter.error({
|
|
@@ -9873,7 +9968,8 @@ var registerVariableCommand = (program) => {
|
|
|
9873
9968
|
subType: options.subType,
|
|
9874
9969
|
defaultValue,
|
|
9875
9970
|
description: options.description,
|
|
9876
|
-
schema
|
|
9971
|
+
schema,
|
|
9972
|
+
triggerNodeId: options.triggerNodeId
|
|
9877
9973
|
}));
|
|
9878
9974
|
if (error) {
|
|
9879
9975
|
OutputFormatter.error({
|
|
@@ -9943,200 +10039,6 @@ var registerVariableCommand = (program) => {
|
|
|
9943
10039
|
});
|
|
9944
10040
|
};
|
|
9945
10041
|
|
|
9946
|
-
// src/services/variable-update-service.ts
|
|
9947
|
-
var addVariableUpdateToFlow = async (filePath, options) => {
|
|
9948
|
-
const { workflow, refMap } = await readFlowWorkflow(filePath);
|
|
9949
|
-
const nodeExists = (workflow.nodes ?? []).some((n) => n.id === options.nodeId);
|
|
9950
|
-
if (!nodeExists) {
|
|
9951
|
-
throw new Error(`Node '${options.nodeId}' not found in the workflow`);
|
|
9952
|
-
}
|
|
9953
|
-
const globals = workflow.variables?.globals ?? [];
|
|
9954
|
-
const variable = globals.find((v) => v.id === options.variableId);
|
|
9955
|
-
if (!variable) {
|
|
9956
|
-
throw new Error(`Variable '${options.variableId}' not found in workflow globals`);
|
|
9957
|
-
}
|
|
9958
|
-
if (variable.direction === "in") {
|
|
9959
|
-
throw new Error(`Variable '${options.variableId}' has direction 'in' and cannot be assigned to. Only 'out' or 'inout' variables can be updated`);
|
|
9960
|
-
}
|
|
9961
|
-
const variableUpdates = workflow.variables?.variableUpdates ?? {};
|
|
9962
|
-
const nodeUpdates = variableUpdates[options.nodeId] ?? [];
|
|
9963
|
-
const duplicate = nodeUpdates.find((u) => u.variableId === options.variableId);
|
|
9964
|
-
if (duplicate) {
|
|
9965
|
-
throw new Error(`Variable update for variable '${options.variableId}' on node '${options.nodeId}' already exists. Use 'variable-update set' to replace it`);
|
|
9966
|
-
}
|
|
9967
|
-
const expression = options.expression.startsWith("=js:") ? options.expression : `=js:${options.expression}`;
|
|
9968
|
-
const update = { variableId: options.variableId, expression };
|
|
9969
|
-
nodeUpdates.push(update);
|
|
9970
|
-
variableUpdates[options.nodeId] = nodeUpdates;
|
|
9971
|
-
if (!workflow.variables) {
|
|
9972
|
-
workflow.variables = {};
|
|
9973
|
-
}
|
|
9974
|
-
workflow.variables.variableUpdates = variableUpdates;
|
|
9975
|
-
await writeFlowWorkflow(filePath, workflow, refMap);
|
|
9976
|
-
return {
|
|
9977
|
-
nodeId: options.nodeId,
|
|
9978
|
-
variableId: options.variableId,
|
|
9979
|
-
expression
|
|
9980
|
-
};
|
|
9981
|
-
};
|
|
9982
|
-
var deleteVariableUpdateFromFlow = async (filePath, nodeId, variableId) => {
|
|
9983
|
-
const { workflow, refMap } = await readFlowWorkflow(filePath);
|
|
9984
|
-
const updatesMap = workflow.variables?.variableUpdates;
|
|
9985
|
-
const nodeUpdates = updatesMap?.[nodeId];
|
|
9986
|
-
if (!nodeUpdates || nodeUpdates.length === 0) {
|
|
9987
|
-
throw new Error(`No variable updates found for node "${nodeId}". Use 'uip maestro flow variable-update list' to see existing updates.`);
|
|
9988
|
-
}
|
|
9989
|
-
const entryIndex = nodeUpdates.findIndex((e) => e.variableId === variableId);
|
|
9990
|
-
if (entryIndex === -1) {
|
|
9991
|
-
throw new Error(`No update for variable "${variableId}" on node "${nodeId}". Use 'uip maestro flow variable-update list' to see existing updates.`);
|
|
9992
|
-
}
|
|
9993
|
-
const [deleted] = nodeUpdates.splice(entryIndex, 1);
|
|
9994
|
-
if (nodeUpdates.length === 0 && updatesMap) {
|
|
9995
|
-
delete updatesMap[nodeId];
|
|
9996
|
-
}
|
|
9997
|
-
await writeFlowWorkflow(filePath, workflow, refMap);
|
|
9998
|
-
return {
|
|
9999
|
-
deletedUpdate: {
|
|
10000
|
-
nodeId,
|
|
10001
|
-
variableId: deleted.variableId,
|
|
10002
|
-
expression: deleted.expression
|
|
10003
|
-
}
|
|
10004
|
-
};
|
|
10005
|
-
};
|
|
10006
|
-
var listVariableUpdatesInFlow = async (filePath, options) => {
|
|
10007
|
-
const { workflow } = await readFlowWorkflow(filePath);
|
|
10008
|
-
const updatesRecord = workflow.variables?.variableUpdates ?? {};
|
|
10009
|
-
let variableUpdates = Object.entries(updatesRecord).flatMap(([nodeId, updates]) => (Array.isArray(updates) ? updates : []).filter((u) => typeof u?.variableId === "string" && typeof u?.expression === "string").map((u) => ({
|
|
10010
|
-
nodeId,
|
|
10011
|
-
variableId: u.variableId,
|
|
10012
|
-
expression: u.expression
|
|
10013
|
-
})));
|
|
10014
|
-
if (options?.nodeId) {
|
|
10015
|
-
variableUpdates = variableUpdates.filter((u) => u.nodeId === options.nodeId);
|
|
10016
|
-
}
|
|
10017
|
-
return { variableUpdates, count: variableUpdates.length };
|
|
10018
|
-
};
|
|
10019
|
-
|
|
10020
|
-
// src/commands/variable-update.ts
|
|
10021
|
-
var VARIABLE_UPDATE_ADD_EXAMPLES = [
|
|
10022
|
-
{
|
|
10023
|
-
Description: "Add a variable update expression to a node",
|
|
10024
|
-
Command: 'uip maestro flow variable-update add flow.json --node-id node_a1b2c3d4 --variable-id var_1 --expression "=js:ctx.output"',
|
|
10025
|
-
Output: {
|
|
10026
|
-
Code: "VariableUpdateAddSuccess",
|
|
10027
|
-
Data: {
|
|
10028
|
-
VariableUpdate: {
|
|
10029
|
-
nodeId: "node_a1b2c3d4",
|
|
10030
|
-
variableId: "var_1",
|
|
10031
|
-
expression: "=js:ctx.output"
|
|
10032
|
-
}
|
|
10033
|
-
}
|
|
10034
|
-
}
|
|
10035
|
-
}
|
|
10036
|
-
];
|
|
10037
|
-
var VARIABLE_UPDATE_DELETE_EXAMPLES = [
|
|
10038
|
-
{
|
|
10039
|
-
Description: "Remove a variable update from a node",
|
|
10040
|
-
Command: "uip maestro flow variable-update remove flow.json node_a1b2c3d4 var_1",
|
|
10041
|
-
Output: {
|
|
10042
|
-
Code: "VariableUpdateRemoveSuccess",
|
|
10043
|
-
Data: {
|
|
10044
|
-
DeletedUpdate: {
|
|
10045
|
-
nodeId: "node_a1b2c3d4",
|
|
10046
|
-
variableId: "var_1"
|
|
10047
|
-
}
|
|
10048
|
-
}
|
|
10049
|
-
}
|
|
10050
|
-
}
|
|
10051
|
-
];
|
|
10052
|
-
var VARIABLE_UPDATE_LIST_EXAMPLES = [
|
|
10053
|
-
{
|
|
10054
|
-
Description: "List all variable updates in a flow",
|
|
10055
|
-
Command: "uip maestro flow variable-update list flow.json",
|
|
10056
|
-
Output: {
|
|
10057
|
-
Code: "VariableUpdateListSuccess",
|
|
10058
|
-
Data: {
|
|
10059
|
-
VariableUpdates: [
|
|
10060
|
-
{
|
|
10061
|
-
nodeId: "node_a1b2c3d4",
|
|
10062
|
-
variableId: "var_1",
|
|
10063
|
-
expression: "=js:ctx.output"
|
|
10064
|
-
}
|
|
10065
|
-
],
|
|
10066
|
-
Count: 1
|
|
10067
|
-
}
|
|
10068
|
-
}
|
|
10069
|
-
}
|
|
10070
|
-
];
|
|
10071
|
-
var registerVariableUpdateCommand = (program) => {
|
|
10072
|
-
const variableUpdate = program.command("variable-update").description("Manage variable updates in a Flow file");
|
|
10073
|
-
variableUpdate.command("add").description("Add a variable update expression to a node").argument("<file>", "Path to the .flow file").requiredOption("--node-id <id>", "Node that triggers the update on completion").requiredOption("--variable-id <id>", "Global variable to assign to (must be out or inout)").requiredOption("--expression <expr>", "JS expression to evaluate (auto-prefixed with =js: if missing)").examples(VARIABLE_UPDATE_ADD_EXAMPLES).trackedAction(processContext, async (file, options) => {
|
|
10074
|
-
const [error, result] = await catchError(addVariableUpdateToFlow(file, {
|
|
10075
|
-
nodeId: options.nodeId,
|
|
10076
|
-
variableId: options.variableId,
|
|
10077
|
-
expression: options.expression
|
|
10078
|
-
}));
|
|
10079
|
-
if (error) {
|
|
10080
|
-
OutputFormatter.error({
|
|
10081
|
-
Result: RESULTS.Failure,
|
|
10082
|
-
Message: "Error adding variable update",
|
|
10083
|
-
Instructions: error.message
|
|
10084
|
-
});
|
|
10085
|
-
processContext.exit(1);
|
|
10086
|
-
return;
|
|
10087
|
-
}
|
|
10088
|
-
OutputFormatter.success({
|
|
10089
|
-
Result: RESULTS.Success,
|
|
10090
|
-
Code: "VariableUpdateAddSuccess",
|
|
10091
|
-
Data: {
|
|
10092
|
-
VariableUpdate: result
|
|
10093
|
-
}
|
|
10094
|
-
});
|
|
10095
|
-
});
|
|
10096
|
-
variableUpdate.command("remove").description(`Remove a variable update from a node in a Flow file.
|
|
10097
|
-
` + "Use 'uip maestro flow variable-update list' to find node and variable IDs.").argument("<file>", "Path to the .flow file").argument("<node-id>", "ID of the node").argument("<variable-id>", "ID of the variable").examples(VARIABLE_UPDATE_DELETE_EXAMPLES).trackedAction(processContext, async (file, nodeId, variableId) => {
|
|
10098
|
-
const [error, result] = await catchError(deleteVariableUpdateFromFlow(file, nodeId, variableId));
|
|
10099
|
-
if (error) {
|
|
10100
|
-
OutputFormatter.error({
|
|
10101
|
-
Result: RESULTS.Failure,
|
|
10102
|
-
Message: "Error deleting variable update",
|
|
10103
|
-
Instructions: error.message
|
|
10104
|
-
});
|
|
10105
|
-
processContext.exit(1);
|
|
10106
|
-
return;
|
|
10107
|
-
}
|
|
10108
|
-
OutputFormatter.success({
|
|
10109
|
-
Result: RESULTS.Success,
|
|
10110
|
-
Code: "VariableUpdateRemoveSuccess",
|
|
10111
|
-
Data: {
|
|
10112
|
-
DeletedUpdate: result.deletedUpdate
|
|
10113
|
-
}
|
|
10114
|
-
});
|
|
10115
|
-
});
|
|
10116
|
-
variableUpdate.command("list").description("List all variable updates in a Flow file").argument("<file>", "Path to the .flow file").option("--node-id <id>", "Filter to updates on a specific node").examples(VARIABLE_UPDATE_LIST_EXAMPLES).trackedAction(processContext, async (file, options) => {
|
|
10117
|
-
const [error, result] = await catchError(listVariableUpdatesInFlow(file, {
|
|
10118
|
-
nodeId: options.nodeId
|
|
10119
|
-
}));
|
|
10120
|
-
if (error) {
|
|
10121
|
-
OutputFormatter.error({
|
|
10122
|
-
Result: RESULTS.Failure,
|
|
10123
|
-
Message: "Error listing variable updates",
|
|
10124
|
-
Instructions: error.message
|
|
10125
|
-
});
|
|
10126
|
-
processContext.exit(1);
|
|
10127
|
-
return;
|
|
10128
|
-
}
|
|
10129
|
-
OutputFormatter.success({
|
|
10130
|
-
Result: RESULTS.Success,
|
|
10131
|
-
Code: "VariableUpdateListSuccess",
|
|
10132
|
-
Data: {
|
|
10133
|
-
VariableUpdates: result.variableUpdates,
|
|
10134
|
-
Count: result.count
|
|
10135
|
-
}
|
|
10136
|
-
});
|
|
10137
|
-
});
|
|
10138
|
-
};
|
|
10139
|
-
|
|
10140
10042
|
// src/tool.ts
|
|
10141
10043
|
var metadata = {
|
|
10142
10044
|
name: "flow-tool",
|
|
@@ -10146,7 +10048,7 @@ var metadata = {
|
|
|
10146
10048
|
};
|
|
10147
10049
|
var registerCommands = async (program) => {
|
|
10148
10050
|
if (isPreviewBuild()) {
|
|
10149
|
-
const { registerFlowAuthoringCommands } = await import("./authoring-
|
|
10051
|
+
const { registerFlowAuthoringCommands } = await import("./authoring-rezk32bm.js");
|
|
10150
10052
|
registerFlowAuthoringCommands(program);
|
|
10151
10053
|
}
|
|
10152
10054
|
registerInitCommand(program);
|
|
@@ -10169,9 +10071,8 @@ var registerCommands = async (program) => {
|
|
|
10169
10071
|
registerIncidentsCommand(program);
|
|
10170
10072
|
registerTidyCommand(program);
|
|
10171
10073
|
registerVariableCommand(program);
|
|
10172
|
-
registerVariableUpdateCommand(program);
|
|
10173
10074
|
};
|
|
10174
10075
|
|
|
10175
10076
|
export { metadata, registerCommands };
|
|
10176
10077
|
|
|
10177
|
-
//# debugId=
|
|
10078
|
+
//# debugId=8FD717C3B3B7EC5B64756E2164756E21
|